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.

Formations Excel – VBA
Si vous souhaitez apprendre à programmer en langage VBA dans Excel, veuillez jetez un coup d’oeil à nos formations :
Voici la liste des formations proposées en programmation de macros VBA dans Excel :
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) :

La 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é.



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 





