Excel VBA (HTML) pour envoyer mail par Oultook 2013
Bonjour,
Je suis à la recherche d'une méthode pour insérer des images dans le corps de mon mail.
J'ai trouvé ce bout de code qui rend bien l'image dans le corps du mail.
.HTMLBody = .HTMLBody & "<br><B>Disponibles à la location:</B><br>" _
& "<img src='cid:Disponibles.jpg'" & "width='1200' height='600'><br>" _
& "<br><B>Départs & Retours:</B><br>" _
& "<img src='cid:DepartsRetours.jpg'" & "width='1200' height='600'><br>" _
& "<br><B>Taux d'utilisation:</B><br>" _
& "<img src='cid:Taux.jpg'" & "width='1200' height='600'><br>" _
& "<br>Bonne lecture, <br>CdG</font></span>"
.Display
Cependant, je voudrais faire une boucle et donc rendre le nom des images variables:
Disponibles.jpg
DepartsRetours.jpg
Taux.jpg
Du coup, j'ai mis le chemin des images dans des colonnes sur lesquelles je viendrai pointer avec une boucle For... Next...
For i = 2 To ThisWorkbook.Worksheets("Mail").Range("A" & Rows.Count).End(xlUp).Row
FichierDisponible = mainWB.Sheets("Mail").Range("E" & i).Value
FichierDepartsRetours = mainWB.Sheets("Mail").Range("F" & i).Value
FichierTaux = mainWB.Sheets("Mail").Range("G" & i).Value
Et à partir de ce moment là, je ne sais plus comment faire.
NB: mon but ce n'est pas mettre en pJ (ça je sais faire) mais bien d'incorporer l'image dans le corps de mes mails.
Vous trouverez ci-joint le code que j'ai trouvé sur internet et adapté en partie à mon cas pour lequel je vous serais reconnaissant de m'aider.
En remerciant d'avance de votre aide.
.HTMLBody = .HTMLBody & "<br><B>Disponibles à la location:</B><br>" _
& "<img src='cid:" & FichierDisponible & "'" & "width='1200' height='600'><br>" _
& "<br><B>Départs & Retours:</B><br>" _
& "<img src='cid:" & FichierDepartsRetours & "'" & "width='1200' height='600'><br>" _
& "<br><B>Taux d'utilisation:</B><br>" _
& "<img src='cid:" & FichierTaux & "'" & "width='1200' height='600'><br>" _
& "<br>Bonne lecture, <br>CdG</font></span>"
.Display
à tester
Steelson a écrit :.HTMLBody = .HTMLBody & "<br><B>Disponibles à la location:</B><br>" _ & "<img src='cid:" & FichierDisponible & "'" & "width='1200' height='600'><br>" _ & "<br><B>Départs & Retours:</B><br>" _ & "<img src='cid:" & FichierDepartsRetours & "'" & "width='1200' height='600'><br>" _ & "<br><B>Taux d'utilisation:</B><br>" _ & "<img src='cid:" & FichierTaux & "'" & "width='1200' height='600'><br>" _ & "<br>Bonne lecture, <br>CdG</font></span>" .Display
à tester
Merci pour votre aide. Cela fonctionne nickel.
Juste un deuxième problème auquel que je me confronte: je voudrais utiliser .Body pour mettre du texte, par exemple:
.Body = " Bonjour" & " " & ThisWorkbook.Worksheets("Mail").Range("I" & i).Value & ","
Mais cela ne fonctionne pas incompatibilité de type. Et à mon avis, c'est parce que, entre autres, il existe déjà le .HTML.body.
Avez-vous une idée ?
Merci
Bonjour,
en effet tu ne pas mélanger les 2 formats, soit tu fais de l'HTML (et tu utilises .HTMLBODY) soit tu fais du plain text (et tu utilises .BODY)
voici une proposition de correction de ton HTMLBODY
.HTMLBody = .HTMLBody & "Bonjour" & " " & ThisWorkbook.Worksheets("Mail").Range("I" & i).Value & "," _
"<br><B>Disponibles à la location:</B><br>" _
& "<img src='cid:" & FichierDisponible & "'" & "width='1200' height='600'><br>" _
& "<br><B>Départs & Retours:</B><br>" _
& "<img src='cid:" & FichierDepartsRetours & "'" & "width='1200' height='600'><br>" _
& "<br><B>Taux d'utilisation:</B><br>" _
& "<img src='cid:" & FichierTaux & "'" & "width='1200' height='600'><br>" _
& "<br>Bonne lecture, <br>CdG</font></span>"
.Display