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

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) :


CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

Laisser un commentaire

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

Retour en haut