Comment envoyer un graphique spécifique dans un e-mail avec VBA dans Excel ?
Vous savez peut-être comment envoyer un e-mail via Outlook dans Excel avec du code VBA. Cependant, savez-vous comment joindre un graphique spécifique d'une feuille de calcul particulière dans le corps de l'e-mail ? Cet article vous montrera la méthode pour résoudre ce problème.
Envoyer un graphique spécifique dans un e-mail dans Excel avec du code VBA
Envoyer un graphique spécifique dans un e-mail dans Excel avec du code VBA
Veuillez suivre les étapes ci-dessous pour envoyer un graphique spécifique dans un e-mail avec du code VBA dans Excel.
1. Dans la feuille de calcul contenant le graphique que vous souhaitez joindre au corps de l'e-mail, appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.
2. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Insérer > Module. Ensuite, copiez le code VBA ci-dessous dans la fenêtre Code.
Code VBA : Envoyer un graphique spécifique dans un e-mail dans Excel
Sub mailHTMLsend()
'Updated by Extendoffice 2018/3/5
Dim xOutApp As Object
Dim xOutMail As Object
Dim xStartMsg As String
Dim xEndMsg As String
Dim xChartName As String
Dim xChartPath As String
Dim xPath As String
Dim xChart As ChartObject
On Error Resume Next
xChartName = Application.InputBox("Please enter the chart name:", "KuTools for Excel", , , , , , 2)
If xChartName = "" Then Exit Sub
Set xChart = Sheets("Sheet1").ChartObjects(xChartName) 'Change "Sheet1" to your worksheet name
If xChart Is Nothing Then Exit Sub
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xStartMsg = "<font size='5' color='black'> Good Day," & "<br> <br>" & "Please find the chart below: " & "<br> <br> </font>"
xEndMsg = "<font size='4' color='black'> Many Thanks," & "<br> <br> </font>"
xChartPath = Application.ActiveWorkbook.Path & "\" & Environ("USERNAME") & VBA.Format(VBA.Now(), "DD_MM_YY_HH_MM_SS") & ".bmp"
xPath = "<p align='Left'><img src="/%20&%20"cid:" & Mid(xChartPath, InStrRev(xChartPath, "\") + 1) & """ width=700 height=500 > <br> <br>"
xChart.Chart.Export xChartPath
With xOutMail
.To = "xrr@163.com"
.Subject = "Add Chart in outlook mail body"
.Attachments.Add xChartPath
.HTMLBody = xStartMsg & xPath & xEndMsg
.Display
End With
Kill xChartPath
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
Remarque : Dans le code, veuillez modifier l'adresse e-mail du destinataire et l'objet de l'e-mail dans la ligne .To = "xrr@163.com" et la ligne .Subject = "Ajouter un graphique dans le corps de l'e-mail Outlook", Sheet1 est la feuille qui contient le graphique que vous souhaitez envoyer, veuillez la changer selon vos besoins.
3. Appuyez sur la touche F5 pour exécuter le code. Dans la boîte de dialogue Kutools for Excel qui s'ouvre, entrez le nom du graphique que vous allez joindre dans le corps de l'e-mail, puis cliquez sur le bouton OK. Voir capture d'écran :
Ensuite, un e-mail est automatiquement créé avec le graphique spécifié affiché dans le corps de l'e-mail comme indiqué dans la capture d'écran ci-dessous. Veuillez cliquer sur le bouton Envoyer pour envoyer cet e-mail.

Découvrez la magie d'Excel avec Kutools AI
- Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
- Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
- Codage VBA : Écrivez et implémentez du code VBA sans effort.
- Interprétation des formules : Comprenez facilement des formules complexes.
- Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Articles connexes :
- Comment envoyer automatiquement un e-mail en fonction de la valeur d'une cellule dans Excel ?
- Comment insérer une signature dans un e-mail Outlook lors de l'envoi par VBA dans Excel ?
- Comment envoyer un e-mail à un moment précis de la journée dans Excel ?
- Comment envoyer un e-mail avec un corps en HTML dans Excel ?
- Comment envoyer un e-mail avec un texte en gras/taille/couleur/souligné spécifié dans Excel ?
- Comment envoyer un e-mail sans Outlook dans Excel ?
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!