Comment envoyer un graphique spécifique par e-mail à l’aide de VBA dans Excel ?
Vous savez peut-être comment envoyer un e-mail via Outlook depuis Excel à l’aide d’un code VBA. Mais saviez-vous qu’il est possible d’intégrer directement dans le corps de votre message un graphique spécifique issu d’une feuille de calcul donnée ? Cet article vous dévoile la méthode pour y parvenir.
Envoyer un graphique spécifique par e-mail dans Excel à l’aide d’un code VBA
Envoyer un graphique spécifique par e-mail dans Excel à l’aide d’un code VBA
Pour envoyer un graphique spécifique par e-mail à l’aide d’un code VBA dans Excel, procédez comme suit :
1. Dans la feuille de calcul contenant le graphique que vous souhaitez insérer dans le corps de l’e-mail, appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Dans la fenêtre Microsoft Visual Basic pour Applications, cliquez sur Insertion > Module, puis copiez le code VBA ci-dessous dans la fenêtre de code.
Code VBA : Envoyer un graphique spécifique par 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 aux lignes .To = «xrr@163.com» et .Subject = «Ajout d’un graphique dans le corps d’un e-mail Outlook», Feuil1 étant la feuille contenant le graphique à envoyer ; veuillez l’adapter à votre cas.
3. Appuyez sur la touche F5 pour exécuter le code. Dans la boîte de dialogue Kutools pour Excel qui s’ouvre, saisissez le nom du graphique que vous souhaitez insérer dans le corps de l’e-mail, puis cliquez sur le bouton OK. Voir la capture d’écran :

Un e-mail est alors automatiquement généré, avec le graphique spécifié intégré directement dans le corps du message, comme le montre la capture d’écran ci-dessous. Cliquez sur le bouton Envoyer pour transmettre cet e-mail.


Libérez la magie d’Excel avec Kutools IA
- Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
- formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
- Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
- Interprétation de formules : Décryptez facilement les formules complexes.
- Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Articles associés :
- Comment envoyer automatiquement un e-mail selon la valeur d’une cellule dans Excel ?
- Comment insérer une signature dans un e-mail Outlook lors de l’envoi via VBA depuis Excel ?
- Comment programmer l’envoi d’un e-mail à une heure précise de la journée depuis Excel ?
- Comment envoyer un e-mail avec un corps en HTML depuis Excel ?
- Comment envoyer un e-mail avec une mise en forme spécifique (gras, taille, couleur, soulignement) à partir d’Excel ?
- Comment envoyer un e-mail depuis Excel sans passer par Outlook ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition 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, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels