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.

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.