J'aurais souhaité savoir s'il était possible de faire des sauts de lignes dans le corps d'un email envoyé par macro excel avec Outlook ?
Si c'est le cas, comment on fait. J'ai essayé plusieurs possibilités mais aucune ne fonctionne !!
Voici le code :
Sub EnvoiUnMail()
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String
Dim i As Integer
Dim Qui(250) As String
Dim Mail(250) As String
Dim Tache(250) As String
For i = 1 To 246
If Range("K" & i).Value = "Retard" Then
Qui(i) = Range("D" & i).Value
Mail(i) = Range("M" & i).Value
Tache(i) = Range("A" & i).Value
MsgBox ("Il y a du RETARD dans l'execution d'une tâche." & Chr(13) & "Cette tâche concerne l'interlocuteur suivant : " & Chr(13) & Qui(i))
MailAd = "" & Mail(i)
Subj = "retard "
Msg = "Bonjour, je viens de voir qu'il y avait du retard dans l'éxecution de : " & Tache(i) Passage à la ligne "Pourriez-vous régulariser cela asez rapidement ? " Passage à la ligne "Cordialement"
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
Bonjour, voilà une possibilité mais pas avec ton code
'cocher Outils / Références / Microsoft Outlook 12.0 object library
Sub Outlook()
Dim OLF As Outlook.MAPIFolder, olMailItem As Outlook.MailItem, ToContact As Recipient
Set OLF = GetObject("", "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set olMailItem = OLF.Items.Add
With olMailItem
.Subject = "envoi d'un PDF"
Set ToContact = .Recipients.Add("tartempion@wanadoo.fr")
.Body = "ton message" & vbNewLine & "la suite "
.Attachments.Add "C:Documents and Settingslancement_essai.pdf"
.OriginatorDeliveryReportRequested = False
.ReadReceiptRequested = False
.Send
End With
Set ToContact = Nothing
Set olMailItem = Nothing
Set OLF = Nothing
End Sub
Salutations
Gilbert_RGI
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa et ne pas oublier le tag :après résolution.
un retour à la ligne est obtenu par la combinaison
Saut de ligne (codé 13)
Retour chariot (codé 10)
Avec ton code, on peut essayer :Chr(13) & Chr(10)
Il faut imbriquer les fonctions pour obtenir le résultat désiré.
Ce qui équivaut en Visual Basic à ==> vbCrLf
Cordialement.
Ps: Macro est différend sous Excel et Acces, mais sous Access on utiliserait Car(13) & Car(10) qui est le "Francisé" de Chr(13) & Chr(10)
__________________________
.
En création d'entreprise actuellement..A LA MAISON
En VBA pour Excel il existe des constantes qui équivalent les chr() et leurs combinaisons
vbCrLf
Chr(13) + Chr(10)
Combinaison des caractères de retour chariot et de saut de ligne vbCr
Chr(13)
Caractère de saut de paragraphe vbLf
Chr(10)
Caractère de saut de ligne vbNewLine
Chr(13) + Chr(10)
Caractère de saut de ligne spécifique à la plate-forme ;choix en fonction de la plate-forme vbNullChar
Chr(0)
Caractère ayant la valeur 0 vbNullString
Chaîne ayant la valeur 0 Différent d'une chaîne de longueur nulle ("") ; permet l'appel de procédures externes
vbTab
Chr(9)
Caractère de tabulation vbBack
Chr(8)
Caractère de retour arrière
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique
merci de poser vos questions VBA à cet endroit
salutations
RGI
Un MERCI en retour c'est sympa et ne pas oublier le tag :après résolution.