Comment envoyer des emails avec pièce jointe en automatique avec Gmail

Comment envoyer des emails avec Excel en automatique avec pièces jointes 🧠 (code VBA)

Envoyer des emails code VBA Excel

Sommaire

Email envoie d'un gros message electronique

 1. Les pré requis avant d’envoyer des emails

 2. Code source à copier en VBA pour envoyer un email 

 3. Code source VBA pour ajouter une image dans un email

5/5

Envoyer des emails en automatique : quelles applications ?

C’est fou ce qu’on peut faire avec une macro Excel. 

 

On peut automatiser l’envoi de ses emails  avec Excel à partir de son tableau de gestion et grâce à  une macro en VBA.

 

Concrètement, tu peux gagner 45 min par jour en automatisant tes envois.

 

Excel peut te permettre de faire par exemple les choses suivantes : 

Relancer par email 35 clients en retards en 1 clic

– Envoyer ton fichier de suivi par email en 1 clic

– Personnaliser l’envoie d’un email et envoyer en masse des courriers électroniques

 

Bon, je sais ce que tu penses.

“Moi, je sais pas coder en VBA”

“Je suis nul en VBA, j’y connais rien”

 

 

Et bien bonne nouvelle, dans cet article je te donne le code  de la macro VBA  pour envoyer un email à copier coller. 

 

Je te guide pas à pas même si tu n’as jamais fait çà pour personnaliser ce code source. 

 

Si tu appliques ce code VBA dans Excel, tu pourras crier victoire   en gagnant un temps énorme grâce à l’envoie de mails automatisé avec Excel.

 

Si tu es allergique au code,  pas de soucis…

Tu peux aussi envoyer un email SANS CODER en VBA grâce à l’article suivant :

Envoyer un email avec Excel sans VBA

Astuce simple à copier pour envoyer un email sans VBA

Sinon la suite va te plaire et répondre à ce que tu cherches pour envoyer des emails grâce à Excel et le code VBA à copier plus bas.

 

1. Les pré requis avant d'envoyer des emails dans Excel

 

Afin d’envoyer des emails grâce à Excel, il te faut vérifier des prérequis et des détails techniques pour envoyer des e-mails depuis Excel avec Outlook, à la fois sous Windows et sous Mac OS.

 

    1. Avoir Microsoft Excel : Assure-toi d'avoir Microsoft Excel installé sur ton ordinateur. Si tu utilises une version récente de Windows, il y a de fortes chances que tu aies déjà Excel.

    2. Vérifier la version d'Outlook : Vérifie si tu as Outlook installé sur ton ordinateur. Ouvre Outlook et assure-toi qu'il fonctionne correctement. Si tu ne l'as pas installé, tu devras d'abord l'installer pour pouvoir envoyer des e-mails depuis Excel.

    3. Paramètres de compte : Dans Outlook, vérifie que tu as configuré un compte de messagerie valide et que tu peux envoyer des e-mails depuis ce compte. Assure-toi d'avoir les informations d'identification (adresse e-mail et mot de passe) pour ce compte.

    4. Activer les références VBA : Dans Excel, va à l'éditeur VBA en appuyant sur Alt + F11.Clique ensuite sur "Outils" dans la barre de menus, puis sur "Références". Assure-toi que la référence "Microsoft Outlook Object Library" est cochée. Si ce n'est pas le cas, cherche-la dans la liste et coche-la. Cela permettra à Excel de reconnaître les objets d'Outlook dans le code VBA.

1  Avoir Microsoft Excel pour Mac :
Tout d'abord, assure-toi d'avoir Microsoft Excel pour Mac installé sur ton ordinateur.
Vérifie si tu as déjà Excel en le recherchant dans le dossier "Applications".

 

2. Vérifier la version d'Outlook pour Mac :

Si tu as installé Outlook pour Mac, ouvre-le et assure-toi qu'il fonctionne correctement. Si tu ne l'as pas installé, tu devras d'abord l'installer pour pouvoir envoyer des e-mails depuis Excel.

 

3. Paramètres de compte :
Dans Outlook pour Mac, vérifie que tu as configuré un compte de messagerie valide et que tu peux envoyer des e-mails depuis ce compte.
Assure-toi d'avoir les informations d'identification (adresse e-mail et mot de passe) pour ce compte.

 

4. Vérifier les limitations de VBA sur Mac :
Il est important de noter qu'il existe certaines limitations avec VBA sur Mac. Toutes les fonctionnalités disponibles sur Excel pour Windows peuvent ne pas être disponibles sur Excel pour Mac. Vérifie si les fonctionnalités d'envoi d'e-mails depuis Excel avec Outlook sont prises en charge dans la version d'Excel que tu utilises sur ton Mac.

En résumé, 

 

✓ assure-toi d’avoir Microsoft Excel et Outlook installés et fonctionnant correctement, 

 

 configure un compte de messagerie valide dans Outlook, 

 

 active les références VBA nécessaires dans Excel pour Windows, 

 

  vérifie les limitations éventuelles de VBA sur Excel pour Mac. 

 

 Pense aussi à enregistrer ton fichier excel avec l’extension qui gère les macros Excel .xlsm et à activer l’option suivante si tu es sur Windows “Microsoft Outllok X.X Object Library”

 

 

Envoyer un email avec Outlook grâce à Excel

Si tout est en ordre, tu devrais être prêt à envoyer des emails depuis Excel avec Outlook ! Et automatiser ton travail en 1 clic.

Tout en UN

TOUS mes tutoriels en 1 seul fichier Excel

2. Envoyer des emails avec le code VBA

Envoyer un email grâce à une macro Excel permet d’éviter de créer un nouveau message à la main, d’attacher le fichier et de l’envoyer manuellement.

 

Le code suivant permet d’envoyer le contenu de la feuille Excel par Email, par l’application Outlook.

 

Tu peux copier coller ce code source VB pour envoyer un email avec Excel grâce à la macro suivante.

 

📌 Méthode d'envoi Excel VBA Explications

Ce code source VBA suivant réalise les tâches suivantes : 

– copie le contenu de la feuille Excel actuelle dans le Presse-papiers, 

– crée un fichier temporaire au format Excel, 

– colle le contenu dans ce fichier,

– l’attache à l’e-mail et l’envoie. 

Ensuite, il ferme le fichier temporaire et le supprime.

Pour Windows

				
					'Code source dmo-formation.com
Sub EnvoyerFeuilleExcelParEmail()
    Dim OutlookApp As Object
    Dim OutlookMail As Object
    Dim Destinataire As String
    Dim Sujet As String
    Dim Corps As String
    Dim Feuille As Worksheet
    Dim Plage As Range
    Dim FichierTemp As String
    
    'Paramètres de l e-mail
    Destinataire = "adresse@email.com"
    Sujet = "Feuille Excel"
    Corps = "Voici le contenu de la feuille Excel."
    
    ' Définir la feuille Excel actuelle
    Set Feuille = ActiveSheet
    
    ' Copier le contenu de la feuille dans le Presse-papiers
    Feuille.Copy
    Set Plage = ActiveSheet.UsedRange
    Plage.Copy
    
    ' Créer un fichier temporaire pour coller le contenu
    FichierTemp = Environ$("temp") & "\" & Format(Now, "dd-mm-yyyy hh-mm-ss") & ".xlsx"
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False
    
    ' Enregistrer le fichier temporaire
    ActiveWorkbook.SaveAs FichierTemp
    
    ' Créer une instance de l'application Outlook
    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookMail = OutlookApp.CreateItem(0)
    
    With OutlookMail
        ' Paramètres de l'e-mail
        .To = Destinataire
        .Subject = Sujet
        .Body = Corps
        
        ' Attacher le fichier temporaire
        .Attachments.Add FichierTemp
        
        ' Envoyer l'e-mail
        .Send
    End With
    
    ' Fermer le fichier temporaire et supprimer le fichier
    ActiveWorkbook.Close SaveChanges:=False
    Kill FichierTemp
    
    ' Libérer les objets OutlookMail et OutlookApp
    Set OutlookMail = Nothing
    Set OutlookApp = Nothing
    
    ' Message de confirmation
    MsgBox "L'e-mail a été envoyé avec succès !"
End Sub

				
			

🔔 Et si ce code VBA ne marche pas pour toi...

👉Assures toi de remplacer “adresse@email.com” par l’adresse e-mail du destinataire souhaité. 

C’est logique mais tu as peut être oublié de le modifier.

 

👉 Tu peux  également personnaliser le sujet et le corps de l’e-mail en modifiant les variables Sujet et Corps dans le code.

 

👉Note que ce code utilise l’application Outlook pour envoyer l’e-mail.

 

👉 Assures toi que tu as Outlook installé et configuré sur ton  ordinateur pour que cela fonctionne correctement. (revoir les pré requis au début de cet article)

 

Si tu veux un fichier qui marche directement sans perdre ton temps, télécharge mon fichier Excel sur le bouton plus haut.

Pour Mac

				
					'Code source dmo-formation.com
Sub EnvoyerFeuilleExcelParEmailSurMac()
    Dim MailApp As Object
    Dim MailItem As Object
    Dim Destinataire As String
    Dim Sujet As String
    Dim Corps As String
    Dim Feuille As Worksheet
    Dim Plage As Range
    Dim FichierTemp As String

    ' Paramètres de l'e-mail
    Destinataire = "adresse@email.com"
    Sujet = "Feuille Excel"
    Corps = "Voici le contenu de la feuille Excel."

    ' Définir la feuille Excel actuelle
    Set Feuille = ActiveSheet

    ' Copier le contenu de la feuille dans le Presse-papiers
    Feuille.Copy
    Set Plage = ActiveSheet.UsedRange
    Plage.Copy

    ' Créer un fichier temporaire pour coller le contenu
    FichierTemp = Environ$("TMP") & "/FeuilleExcel_" & Format(Now, "dd-mm-yyyy_hh-mm-ss") & ".xlsx"
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False

    ' Enregistrer le fichier temporaire
    ActiveWorkbook.SaveAs FichierTemp

    ' Créer une instance de l'application Mail
    Set MailApp = CreateObject("Mail.Application")
    Set MailItem = MailApp.CreateItem(0)

    With MailItem
        ' Paramètres de l'e-mail
        .To = Destinataire
        .Subject = Sujet
        .Body = Corps

        ' Attacher le fichier temporaire
        .Attachments.Add FichierTemp

        ' Envoyer l'e-mail
        .Display ' Utilise .Send à la place de .Display pour envoyer automatiquement l'e-mail

        ' Libérer les objets MailItem et MailApp
        Set MailItem = Nothing
        Set MailApp = Nothing
    End With

    ' Supprimer le fichier temporaire
    Kill FichierTemp

    ' Message de confirmation
    MsgBox "L'e-mail a été envoyé avec succès !"
End Sub

				
			

Dans cette version, j’utilise l’application Mail pour Mac au lieu d’Outlook.

📌 Code VBA pour ajouter une image dans un email

Voici une variante intéressante pour ajouter une image dans un email. 

Ce code crée un e-mail avec Outlook, insère du texte dans le corps de l’e-mail, ajoute l’image en tant que fichier attaché et utilise une balise HTML pour afficher l’image dans le corps de l’e-mail.

L’e-mail s’affiche ensuite à l’écran avec le contenu et l’image.

Utilise .Send à la place de .Display si tu souhaites envoyer automatiquement l’e-mail sans affichage préalable.

 

Tu trouveras le code VBA pour Windows mais aussi pour Mac.

Voir plus bas.

Pour Windows

				
					'Code source dmo-formation.com
Sub EnvoyerEmailAvecImage()
    Dim OutlookApp As Object
    Dim OutlookMail As Object
    Dim Destinataire As String
    Dim Sujet As String
    Dim Corps As String
    Dim ImagePath As String
    
    ' Paramètres de l'e-mail
    Destinataire = "adresse@email.com"
    Sujet = "E-mail avec image"
    Corps = "Voici une image :"
    ImagePath = "C:\chemin\vers\l\image.jpg" ' Remplace avec le chemin d'accès à ton image
    
    ' Créer une instance de l'application Outlook
    Set OutlookApp = CreateObject("Outlook.Application")
    Set OutlookMail = OutlookApp.CreateItem(0)
    
    With OutlookMail
        ' Paramètres de l'e-mail
        .To = Destinataire
        .Subject = Sujet
        .HTMLBody = "<p>" & Corps & "</p>" & "<img class="lazy lazy-hidden" src="//dmo-formation.com/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='" & ImagePath & "'/><noscript><img src='" & ImagePath & "'/></noscript>"
        
        ' Attacher l'image en tant que fichier
        .Attachments.Add ImagePath
        
        ' Envoyer l'e-mail
        .Display ' Utilise .Send à la place de .Display pour envoyer automatiquement l'e-mail
        
        ' Libérer les objets OutlookMail et OutlookApp
        Set OutlookMail = Nothing
        Set OutlookApp = Nothing
    End With
End Sub

				
			

🔔 Et si ce code VBA ne marche pas pour toi...

→ Assure-toi également que la référence “Microsoft Outlook Object Library” est activée dans les références VBA d’Excel.

 

Le code VBA que j’ai fourni précédemment est spécifique à Windows et utilise l’application Outlook pour envoyer l’e-mail. 

 

Malheureusement, ce code ne fonctionnera pas directement sur Mac, car il utilise des objets spécifiques à Outlook sur Windows.

Pour Mac

 

Sur Mac, Excel utilise généralement l’application Mail par défaut pour envoyer des e-mails. 

Application Mail sous Mac
Application Mail sous Mac

 

Par conséquent, le code VBA doit être adapté pour fonctionner avec Mail au lieu d’Outlook. 

 

Voici un exemple de code adapté pour Mac :

				
					'Code source dmmo-formation.com
Sub EnvoyerEmailAvecImageSurMac()
    Dim MailApp As Object
    Dim MailItem As Object
    Dim Destinataire As String
    Dim Sujet As String
    Dim Corps As String
    Dim ImagePath As String
    
    ' Paramètres de l'e-mail
    Destinataire = "adresse@email.com"
    Sujet = "E-mail avec image"
    Corps = "Voici une image :"
    ImagePath = "Macintosh HD:chemin:vers:l:image.jpg" ' Remplace avec le chemin d'accès à ton image
    
    ' Créer une instance de l'application Mail
    Set MailApp = CreateObject("Mail.Application")
    Set MailItem = MailApp.CreateItem(0)
    
    With MailItem
        ' Paramètres de l'e-mail
        .To = Destinataire
        .Subject = Sujet
        .HTMLBody = "<p>" & Corps & "</p>" & "<img class="lazy lazy-hidden" src="//dmo-formation.com/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src='" & ImagePath & "'/><noscript><img src='" & ImagePath & "'/></noscript>"
        
        ' Attacher l'image en tant que fichier
        .Attachments.Add ImagePath
        
        ' Envoyer l'e-mail
        .Display ' Utilise .Send à la place de .Display pour envoyer automatiquement l'e-mail
        
        ' Libérer les objets MailItem et MailApp
        Set MailItem = Nothing
        Set MailApp = Nothing
    End With
End Sub

				
			

🔔 Et si ce code ne marche pas pour toi ?

→ Note que certaines fonctionnalités spécifiques à Outlook peuvent ne pas être disponibles dans Mail. Par conséquent, les résultats peuvent varier selon les versions d’Excel et de Mail que tu utilises sur ton Mac.

 

→N’oublie pas de remplacer “Macintosh HD:chemin:vers:l:image.jpg” par le chemin d’accès réel de ton image.

1h de formation Excel offerte 

Spécial débutant 


💡 Besoin d'aide pour aller plus loin ?

Rejoindre le groupe d’entraide Excel et participer à la vie de la communauté pour progresser ensemble.

Aide Excel communauté
Groupe d'entraide Excel

📢 Partager cet article

Share on facebook
Facebook
Share on linkedin
LinkedIn
Share on whatsapp
WhatsApp
Share on email
Email
Share on telegram
Telegram

Auteur

David MONTET Tutoriel Excel est un youtubeur passionné par Excel. Ingénieur en informatique de métier, il cumule +20 ans d'expérience professionnelle. Ingénieur en développement, c'est un gars sérieux 👔 qui ne se prend pas au sérieux 😜. Il aime par dessous tout t'aider à aller plus haut. Avec lui, tu es sûr de viser l'excellence.

Commentaires

  • Louault

    Tu spécifie dans ta vidéo que gmail est aussi utilisé mais les codes vba sont uniquement pour Outlook.

    • David

      La vidéo s’appuie sur la démonstration du fichier complet à télécharger. Le code fourni dans cet article ne donne pas tout. Combien de mails souhaites tu envoyer par gmail ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


The reCAPTCHA verification period has expired. Please reload the page.