Insérer une Image dans le corps d'un mail
Bonjour à tous,
Je bloque sur une étape de mon code, j'ai réalisé une fonction pour envoyer des mails en dynamique, avec message, destinataire et présence de pièce jointe en dynamique. Je dispose d'une base de donnée, qui m'indique pour tel ou tel mail, si il y a une pièce jointe, une image à insérer dans le corp de mail ou rien. je n'ai pas encore intégrer la présence ou non de l'image dans le corp de mail, pour l'instant j'ai voulu faire un essai en utilisant 'HtmlBody', mais je me retrouves seulement avec l'adresse du fichier sans visuel. Avez vous une solution?
.HTMLBody = .HTMLBody & "<td valign='middle'><b><img src='" & G_STR_Chemin_Fichier & "Temp.jpg" & "'>"
Public Function G_FCT_Mail(Sujet As String, A As String, CC As String, msg As String, Optional ByVal PJ As Boolean = False) As Boolean
Dim App As Variant
Dim ws As Worksheet
Dim sh As Object
Dim ChartObj As ChartObject
If G_FCT_BLN_Recup_Chemin_Fichier = True Then
G_BOOL_refresh_sheet = True
'Création d'une feuille temporaire pour coller le ScreenShot
Sheets.Add.Name = "Temp": Set ws = Sheets("Temp")
G_WS_Sheet_Mail.Range(G_STR_Mail_PLG).Copy
'Copie de l'image, mise en forme et sauvegarde
With ws
.Pictures.Paste
For Each sh In .Shapes
sh.CopyPicture 'copie l'image
Set ChartObj = ActiveSheet.ChartObjects.Add(0, 0, sh.Width, sh.Height)
ChartObj.Activate
ChartObj.Chart.Paste 'colle l'image dans un graphique temporaire
ChartObj.Width = sh.Width
ChartObj.Height = sh.Height
If PJ = True Then ChartObj.Chart.Export G_STR_Chemin_Fichier & "Temp.pdf", "pdf" 'Sauvegarde au format PDF, Si Piece jointe.
ChartObj.Chart.Export G_STR_Chemin_Fichier & "Temp.jpg", "jpg" 'Sauvegarde au format jpg, pour insertion dans le corps de mail.
Next sh
End With
'Suppression de la feuille Temporaire
Application.DisplayAlerts = False: ws.Delete: Application.DisplayAlerts = True
End If
'Initialisation de l'Objet
Set App = CreateObject("Outlook.Application")
'Cration du Mail
With App.createitem(olMailItem)
.Subject = Sujet
.To = A
.CC = CC
.body = msg
.BodyFormat = 1 'Format : 0=undetermined; 1=plain text; 2= HTML; 3=rich text
.Importance = 2 'Importance : 0=low; 1=normal; 2= high
.Sensitivity = 3
If PJ = True Then .Attachments.Add G_STR_Chemin_Fichier & "Temp.pdf"
.display
End With
Set App = Nothing: Set ws = Nothing
'Suppression des fichiers temporaires
If PJ = True Then Kill (G_STR_Chemin_Fichier & "Temp.pdf")
Kill (G_STR_Chemin_Fichier & "Temp.jpg")
G_BOOL_refresh_sheet = False
End Function
Merci
Hello,
Et comme ceci :
.HTMLBody = .HTMLBody & "<td valign='middle'><b><img src='" & G_STR_Chemin_Fichier & "Temp.jpg" & "'/>"