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.

37code.txt (1.88 Ko)
24code.txt (1.88 Ko)
.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
Rechercher des sujets similaires à "vba html envoyer mail oultook 2013"