4 étapes pour faire une macro Excel qui envoie un mail avec pièce jointe

Cet article explique comment automatiser l’envoi d’un e-mail avec pièce jointe depuis Excel grâce à une macro VBA. Vous y découvrez les 4 étapes clés : initialiser la macro et activer Outlook, créer les variables, définir les informations du mail (destinataires, objet, pièce jointe) puis lancer l’envoi.
envoi-email-macro-vba-excel-facile-debutant-cleex-e1651762357182

Le partage et la diffusion des reportings est un travail qui peut prendre du temps. C’est notamment vrai lorsque la liste de diffusion est importante ou qu’il faut personnaliser les échanges en fonction des destinataires. Peut-être avez-vous un classeur contenant des données que vous souhaitez partager avec votre équipe, ou peut-être souhaitez-vous exporter vos données dans un fichier CSV/PDF et les envoyer.

La bonne nouvelle c’est que VBA étant un langage de développement interne à la suite Office, on peut utiliser les fonctionnalités de l’ensemble des outils de la gamme. On peut donc envoyer un e-mail avec Outlook en partant d’Excel le tout grâce à une macro VBA. La très bonne nouvelle c’est que dans cet article je vous explique en 4 étapes simples et rapides comment le faire !

Pourquoi envoyer un e-mail avec une macro vba dans Excel ?

On s’intéresse à ce sujet généralement quand nous devons diffuser largement des fichiers qui seront personnalisés en fonction des destinataires. C’est le cas quand nous diffusons un reporting avec des colonnes masquées pour certains acteurs. C’est également le cas lorsque nous voulons diffuser des factures à des clients. Il est possible de créer un classeur Excel dans lequel les factures se rempliront et s’enverront grâce à une simple base de données. Magique non ? 🧙‍♂️

PDF : 7 méthodes pour gagner 2h/semaine sur Excel

Remplissez le formulaire et découvrez les pratiques qui m’ont permis de réduire jusqu’à 80% ma charge de travail.

PDF – Méthodes – CTA

Comment envoyer un e-mail avec une macro vba dans Excel ?

En plus de vous communiquer au travers des prochaines étapes, les moyens pour créer une macro VBA dans Excel permettant d’envoyer des e-mails, je vais vous expliquer les notions de base du code VBA. Je vous invite à bien suivre l’article afin que vous puissiez adapter en toute conscience le code.

Etape 1 – Initialiser la macro et activer la bibliothèque

Rendez-vous dans le Visual Basic Editor en cliquant sur Alt+F11 ou en vous rendant directement dans l’onglet Développeur puis Visual Basic. Si vous n’avez pas afficher l’onglet Développeur dans votre ruban, je vous donne la réponse ici.

Créez un nouveau module pour y stocker votre macro VBA destinée à héberger votre code qui se chargera de l’envoi des e-mails via Excel. Pour cela, faites un clic droit sur Module puis Insertion et enfin Module. Le Module1 vient de se créer.

Vous pouvez à présent cliquer sur le Module1. Avant de saisir du code, nous allons activer une bibliothèque essentielle. Cliquez sur Outils puis Références. Cherchez et sélectionnez Microsoft Outlook 16.0 Object Library.

A présent, vous pouvez saisir le code suivant dans votre module. Une macro commence toujours par Sub nom_de_la_macro() et se termine par End Sub.

Sub Envoyer_un_mail()

'Macro permettant l'envoi de mail

[Code Etape 2]

[Code Etape 3]

[Code Etape 4]

End Sub

Etape 2 – Créer les variables

En développement informatique une variable est un identifiant auquel on attribue une valeur. Pour certaines valeurs, il n’est pas nécessaire de préciser le type de valeur que l’on mettra. Par exemple, si je veux attribuer à l’identifiant mail la valeur "mail1@mail.com", je n’ai pas besoin de préciser à Excel que ma valeur est du texte. Il s’en rendra compte tout seul. Attention cependant, je vous déconseille d’attribuer à une variable tantôt un format texte tantôt un format nombre. Vous risquez de vous exposer à des incompréhensions de la part d’Excel.

Dans notre cas d’envoi d’un e-mail grâce à la macro Excel, nous allons faire appel à des fonctionnalités contenue dans notre bibliothèque fraichement activée. Il va nous falloir être précis sur les fonctionnalités que nous appelons afin qu’Excel comprenne nos variables. Nous allons appeler 2 fonctionnalités : Outlook.Application et Outlook.MailItem.

Pour définir une variable dans une macro Excel, nous tapons Dim + nom que nous donnons à la variable + As + type de la variable.

Les variables faisant référence à des objets doivent être définies en utilisant la synthaxe Set + nom que nous donnons à la variable + = + objet.

Dim outlook As Outlook.Application
Dim email as Outlook.MailItem

Set mail = outlook.CreateItem(olMailItem)

Etape 3 – Définir les variables

A présent, nous allons pouvoir saisir les valeurs des variables et les intégrer directement dans notre objet mail. En VBA, si on veut neutraliser une ligne sans pour autant l’effacer, il suffit de mettre une apostrophe juste devant. Les commentaires et code écrits derrière une apostrophe ne sont pas lus par les macros.

Nous pouvons adapter le code ci-dessous à nos propres besoins afin que la macro Excel puisse envoyer l’e-mail que nous voulons à la bonne personne.

La première ligne est la ligne des destinataires. Si vous avez plusieurs destinataires à saisir, il suffit de les séparer par des virgules (mail.To = "mail1@mail.com,mail2@mail.com,mail3@mail.com"). La seconde et troisième ligne sont respectivement les lignes destinées aux personnes en copie ainsi qu’aux personnes en copie cachée.

Les quatrième et cinquième lignes sont destinées à alimenter l’objet de l’e-mail et le message de l’e-mail.

Les 2 dernières lignes servent à ajouter le présent fichier en tant que pièce jointe. Si vous souhaitez joindre un autre fichier, changez le code de la façon suivante : fichier = "C:\chemin\vers\mon\fichier.xlsx".

mail.To = "mail1@mail.com"
mail.CC = "mail2@mail.com"
mail.BCC = "mail3@mail.com"
mail.Subject = "Objet du mail"
mail.HTMLBody = "Message du mail"

fichier = ThisWorkbook.FullName
mail.Attachments.Add fichier

Etape 4 – Envoyer l’e-mail

Vous avez créé votre macro, initialisé les variables et les avez défini. Votre e-mail est prêt. Que vous manque-t-il ? La commande pour l’envoyer. La dernière étape de votre macro afin que vous puissiez envoyer un e-mail est la commande mail.Send.

mail.Send

Je ne vous sens pas rassuré(e). Si vous avez peur du résultat. Placez juste avant mail.Display. Vous pourrez avoir l’aperçu de l’e-mail avant qu’il aille nourrir la boite de réception de vos collègues ou de votre chef. Pour lancer votre macro, cliquez simplement sur le petit bouton d’exécution.

Votre e-email est parti ! Félicitations.

Conclusion

Bravo ! Vous l’avez fait. Vous avez envoyé votre premier e-mail grâce à une macro contenue dans Excel. Un nouvel univers s’ouvre à vous. Vous pouvez maintenant vous pencher sur l’envoi de plusieurs centaines de fichiers totalement en automatique. Il est possible de créer des listes de diffusion dans un onglet et d’envoyer à chaque destinataire de chaque ligne un e-mail personnalisé et un fichier joint.

Quelles sont les prochaines étapes ? Venez me le dire en commentaire.

Formation Excel éligible CPF avec Morpheus Formation

Avec Morpheus Formation, gagnez en confiance sur Excel et exploitez réellement tout son potentiel grâce à une approche individualisée ! Une méthode conçue pour une montée en compétences efficace, solide et durable.

  • Une formation sur mesure, avec un rythme ultra-personnalisé et flexible (soir, week-end, etc),
  • Un formateur en direct qui adapte le programme à vos besoins, votre niveau et votre métier,
  • La possibilité de travailler sur vos propres fichiers ou sur nos exercices pratiques,
  • Des supports de cours et des exercices pour progresser efficacement entre les séances.
4.3/5 - (84 votes)

Vous avez apprécié cet article ?

Pour me soutenir, cliquez sur cette publicité. Pas besoin d’acheter, un clic suffit.

Merci. 🤩

Annonces

Modèles Excel

+

Livret 

7 méthodes pour gagner 2H par semaine sur Excel

C’est gratuit 🤩

Avis Morpheus Formation la meilleure formation Excel en 2026
Avis sur Morpheus Formation

Cleex.fr rejoint Morpheus Formation

Cleex.fr rejoint naturellement Morpheus Formation, l’organisme 100% spécialisé sur Excel et ses dernières nouveautés. 

Objectif ? Vous proposer toujours plus de contenus accessibles sur Excel !

Sacha Letullier pour Cleex
Sacha LETULLIER - Co-fondateur de Morpheus Formation

Formation Excel (100% finançable)

Un programme personnalisé, avec un formateur expert attitré et selon vos disponibilités.

Depuis 2021, Morpheus Formation a formé plus de 850 apprenants et dispensé plus de 15 000 heures de formation sur Excel et Power BI.
Tout cela, avec un taux de satisfaction global de 9,79/10. 

Morpheus Formation est un organisme certifié QUALIOPI
Formation Excel éligible CPF

Formations Excel

Parce que chacun devrait avoir les moyens de faire son travail sur Excel

Découvrez des formations accessibles, rapides et directement applicables.

Cleex évolue… et rejoint Morpheus Formation
Bonne nouvelle 👋 Le site Cleex rejoint Morpheus Formation, organisme spécialisé dans la formation Excel moderne. Concrètement, ce qui change pour vous :
Sacha Letullier, co-fondateur de Morpheus Formation.
Yann Legrand, créateur de Cleex et contrôleur de gestion de formation.
  • toujours des tutoriels gratuits pour progresser
  • encore plus de ressources, exercices et guides pratiques
  • et la possibilité d’aller plus loin avec des formations Excel personnalisées animées par des experts.
Cliquez sur le lien : accédez au site Morpheus Formation pour découvrir toutes nos ressources offertes :)
Overlay Image
CLEEX.FR REJOINT MORPHEUS FORMATION
Yann Legrand, créateur de Cleex et contrôleur de gestion de formation.
Sacha Letullier, gérant de Morpheus Formation et formateur Excel.
WEBINAIRE EXCEL
Date : Jeudi 09/04 avec Nicolas et Augustin de Morpheus Formation. Inscrivez-vous pour recevoir la rediffusion et les supports par mail.
Power Query dans Excel
WEBINAIRE EXCEL
Inscrivez-vous pour recevoir la rediffusion et les supports par mail.
Power Query dans Excel