Saut à la ligne VBA
Bonjour,
Je souhaite faire des mails auto en VBA et pour le corps du texte je dois trouver le moyen de faire des sauts à la ligne. J'ai essayé vbcr, vblf, vbcrlf, char(10), char(13), "%0A", rien n'y fait, le message est bien envoyé mais sans saut à la ligne. Auriez vous une solution à me proposer ?
Je vous remercie
Sub MailOutlookExpress()
Dim Chem As String, Rep As String, Fich As String, Dest As String
Dim oApp As Object, oMail As Object
With Sheets("PJ")
Chem = .Range("A1")
Rep = .Range("A2")
Fich = .Range("A3")
End With
Dim numero As Integer
numero = 1
While numero <= 1 'TANT QUE la variable numero est <= 12, la boucle est répétée
Sheets("Mail").Range("C30") = numero
numero = numero + 1 'Le numéro est augmenté de 1 à chaque boucle
Dest = Sheets("Mail").Range("c34").Value
Set oApp = CreateObject("Outlook.Application")
Set oMail = oApp.CreateItem(0)
With oMail
.To = Dest
.CC = ""
.BCC = ""
.Subject = Sheets("Mail").Range("A4").Value
.HTMLBody = Range("C31") & " " & Range("C32") & " " & Range("c33") & "," & vbCr & vbLf & range("B8")
.Attachments.Add (Chem & Rep & Fich)
.Send
End With
Set oMail = Nothing
Set oApp = Nothing
Wend
End SubBonjour macmun,
La clé de ton problème est ici :
.HTMLBody = Range("C31") & " " & Range("C32") & " " & Range("c33") & "," & vbCr & vbLf & range("B8")En utilisant la propriété HTMLBody, tu dois entrer une chaîne de caractères au format HTML. Et les constantes VBA de saut de ligne ne sont pas reconnues en tant que texte valide en HTML...
Je n'ai pas Outlook sous la main mais je vois 2 solutions.
1- Soit tu utilises la propriété Body au lieu de HTMLBody
2- Soit tu gardes HTMLBody mais tu cherches comment sauter une ligne en langage HTML et tu incorpores la bonne syntaxe dans ton code...
Merci beaucoup Vba-new !! j'ai effectivement enlevé le HTML devant body et ça marche beaucoup mieux
Encore merci et bonne journée à toi !