Ajouter photo dans corps de mail

Bonjour à tous,

Mon fichier récupère une base de données en ligne,met en forme la valeur numérique souhaité sous Power Query puis affiche un graphique de cette valeur.

L'ultime but est d'envoyer un mail lorsque cette valeur numérique (via une moyenne glissante) dépasse une consigne. Cela fonctionne avec le code actuel.

Cependant je souhaite envoyer à travers le mail la photo du graphique. En piéce jointe, cela est fait mais je souhaite l'ajouter en corps de mail pour une lecture sur mobile.

Dans le module 4, l'objectif est de faire un screenshot de la page "Grafico" et d'enregistrer l'image obtenu dans le dossier du fichier excel.

Dans le module 1, j'applique simplement une formule à la colonne "E" pour avoir une moyenne glissante sur les dix dernières valeurs et déclencher l'alerte par mail si le seuil est plus élevé que 0.5.

Le module 2 constitue dans la structure d'envoi du mail.

Sur la "sheet1", c'est la condition pour envoyer le mail lorsque la valeur de la moyenne glissante >0.5

La difficulté pour moi est donc de faire le screenshot au moment ou la valeur glissante est > 0.5. Enregistrer la photo. L'insérer dans le corps du mail puis envoyer le mail.

Dans l'idée, je souhaite (aussi) limiter l'envoi de un mail chaque heure par exemple.

Merci d'avance du coup de main. Bonne journée

capture

Bonjour,

à tester,

Sub envoi_mail()
'Nécessite d'activer la référence "Microsoft Outlook Library"
Dim rng As Range
Dim Date_Sending As String
Dim OutApp As Object
Dim OutMail As Object
Dim adresses_mail As String
Dim mail_CC As String
Dim MyChart As Chart

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

'enregistrer le graph en image
Set MyChart = ActiveSheet.ChartObjects(1).Chart
MyChart.Export Filename:=Environ("Temp") & "\graph1.jpg", filtername:="JPG"

Set ColAttach = OutMail.Attachments
Set oAttach = ColAttach.Add(Environ("Temp") & "\graph1.jpg")

text1 = "<br /><br /><br />" & "Bonjour," & "<br /><br /><br />" & _
      Range("C14") & "<br /><br /><br />" & Range("D38") & "<br /><br /><br />" & _
      "Cordialement," & "<br /><br /><br />" & "L'équipe"

With OutMail
    .To = Range("C5")
    .Subject = Range("C6")
    .Subject = Range("T6").Value & " " & Date_Sending
    .HTMLBody = text1 & ", <br><br><IMG src=cid:graph1.jpg></BODY>"
    .Display
End With

Kill Environ("Temp") & "\graph1.jpg"
Set OutMail = Nothing
Set OutApp = Nothing
End Sub

Fonctionne à merveille. Cela simplifie tout mon fichier, MERCI

Rechercher des sujets similaires à "ajouter photo corps mail"