Comment envoyer un courriel à l’aide de VBA depuis Excel

Publié le 25 novembre 2019
par Francis Paquet M.Sc., EEE
Envoi courriel depuis Excel

Comment envoyer un courriel à l’aide de VBA depuis Excel

Plusieurs usagers demandent, sur notre forum, comment envoyer un courriel à l’aide de VBA depuis Excel. L’article suivant sert donc à démystifier cette tâche et plus précisément, à vous proposer une procédure en VBA, dans Excel, qui permet d’envoyer un courriel, via MS Outlook.

 

Envoyer un courriel depuis Excel

Premièrement, il y a deux façons de faire, la première, encouragée par Microsoft, utilise ce qu’ils appellent le ‘’Early Binding’’. Cette approche utilise en fait la librairie de fonctions et de paramètres de MS Outlook directement dans l’environnement VBA de Excel. Même si cette approche est un peu plus simple, nous croyons qu’elle n’est pas la plus stable. En conséquence, nous proposons plutôt l’approche du ‘’Late Binding’’, ce qui implique que nous devons définir les objets liés au courriel nous-mêmes, sans utiliser de librairies prédéfinies.

 

Alors, lançons-nous dans la programmation en regardant la procédure ci-jointe, qui est commentée afin d’en faciliter l’utilisation.

 

Option Explicit

Sub EnvoiCourriel()

Dim applOL As Object

Dim miOL As Object

Dim recptOL As Object

Dim strMail As String, strFileName as String

Dim strObjet as String

strFileName = "FilePath" & "\" & "FileName" & ".pdf"  ' Le nom complet du fichier (chemin + nom + extension)

strObjet = "Sujet du courriel"

Set applOL = CreateObject("Outlook.Application")

Set miOL = applOL.CreateItem(0)

'  Cette commande peut être répétée afin d’ajouter plusieurs destinataires

Set recptOL = miOL.Recipients.Add("Courriel du destinataire 1")

Set recptOL = miOL.Recipients.Add("Courriel du destinataire 2")

recptOL.Type = 1  ' Signifie que le courriel est directement adressé à ces destinataires

With miOL

.to = "Destinataires qui seront affichés dans le courriel"

.Subject = strObjet

.SentOnBehalfOfName = "adresse alternative de la vôtre, si requis"   ' Optionnelle

.replyrecipients.Add ("adresse de retour si un des destinataires répond")   '  Optionnelle, sinon les réponses seront acheminés à la boîte d’envoi

.Body = "Texte du courriel" 'ou

.htmlBody = "Texte du courriel, mais écrit en html"

.Attachments.Add (strFileName)    '   Optionnelle, mais permet de joindre un ou des fichier(s) au courriel, car cette commande peut être répétée

'  Préférable d’identifier de quelle boîte de courriel le courriel va partir

Set .SendUsingAccount = applOL.Session.Accounts.Item(1)

.Display   '  Ouvre et montre le courriel sans l’envoyer, ou

.Send        '  Envoie le courriel

End With

Set applOL = Nothing

Set miOL = Nothing

Set recptOL = Nothing

End Sub

 

Comme on peut le voir, une fois qu’on sait comment programmer les objets pertinents, il est assez facile d’utiliser VBA dans Excel pour transmettre des courriels.
 
 

Vous souhaitez créer et personnaliser des outils de gestion automatisés dans Excel  pour mieux répondre aux besoins spécifiques de votre entreprise ? Apprenez à les développer et les présenter avec des interfaces conviviales pour les usagers en suivant nos formations en programmation de macros VBA.

 

Outils d’envoi de courriels de masse

Si vous souhaitez vous procurer un outil Excel qui vous permet de faire l’envoi de masse de courriels, avec messages personnalisés et pièces jointes, vous pouvez consulter les outils Excel de la boutique en ligne du CFO masqué, et plus particulièrement l’outil Envoi de courriels de masse.

 


Envoi courriels

Formations Excel – VBA

Si vous souhaitez apprendre à programmer en langage VBA dans Excel, veuillez jetez un coup d’oeil à nos formations :

 

Excel - Programmation macros VBA  

Voici la liste des formations proposées en programmation de macros VBA dans Excel :

Excel - VBA (niveau 1)

Excel - VBA (niveau 2)

Excel - VBA (niveau 3)  

Découvrez également nos différents parcours d'apprentissage et notre programme de crédits.

 

 

Voici quelques commentaires d’apprenants ayant suivi la formation Excel – VBA (niveau 1) :

 

Josée Drouin
Écrit il y a 11 mois
J'ai adoré cette formation!

J'ai suivi un cours universitaire de 45 heures et il y avait encore des trucs qui n'étaient pas clairs pour moi (par exemple, la portée des variables ou l'utilisation d'une fonction dans une procédure). Ils ont été expliqués rapidement et clairement, avec des applications concrètes, j'ai compris! J'ai aussi appris plein de trucs.

Stephanie Lambert
Écrit il y a 2 ans
J'ai bien aimé.

La formatrice maitrise très bien son contenu et j'ai aimé qu'elle écrive le code au long ou avec des erreurs pour l'optimiser par la suite. Cela aide à la compréhension et illustre le genre de chose qu'un débutera fera. Les documents complémentaires fournissent une belle valeur ajoutée.

Maxime Chapados
Écrit il y a 2 ans
10/10 !

Formation très pratique et pertinente. Cela fait des années que je veux m'initier à la programmation VBA et cette formation a parfaitement répondu à mon besoin. Les exemples sont clairs et bien expliqués. Je recommande cette formation.


CFO-Masque_Formations-en-ligne_FB Le CFO masqué offre un vaste choix de formations en informatique décisionnelle avec Excel et Power BI, via un portail en ligne et à distance en temps réel, selon un calendrier. Si vous désirez organiser des formations privées, faites nous simplement parvenir un courriel à info@lecfomasque.com . Des certificats convenant aux normes de formation continue des divers ordres professionnels du Québec sont offerts pour l'ensemble des formations.  

Découvrez quelles formations vous conviennent

 

Laisser un commentaire

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

Scroll to Top