Visual Basic pour Applications ou VBA est un langage de programmation puissant mais simple et vous permet d'automatiser Microsoft Excel au maximum. L'une de ces automatisations consiste à utiliser des codes VBA pour intégrer d'autres applications Microsoft telles qu'Outlook, PowerPoint et Word et augmenter la productivité.
L'envoi d'e-mails avec VBA dans Excel est l'une de ces intégrations qui vous facilite la vie en automatisant les tâches d'envoi de feuilles de calcul ou de rapports. Ce didacticiel vous guidera à travers les étapes d'envoi d'e-mails avec VBA à partir d'Excel en étapes faciles à suivre.

Activation de la bibliothèque d'objets Microsoft Outlook
Vous devez définir la référence d'objet d'envoi d'e-mail d'Outlook car il s'agit d'un objet extérieur pour Excel VBA . Suivez ces étapes :
- Enregistrez le fichier Excel existant en tant que fichier prenant en charge les macros en cliquant sur Fichier > Enregistrer sous > sélectionnez un emplacement et en modifiant le type de fichier .
- Appuyez sur Alt + F11 pour afficher l'éditeur de code VBA et cliquez sur Outils situé dans la barre de menu supérieure.

- À partir de là, sélectionnez Références , puis faites défiler la liste des références disponibles pour rechercher la bibliothèque d'objets Microsoft Outlook 16.0 .
- Sélectionnez l'objet et cliquez sur OK pour quitter la liste des références disponibles .
Envoi d'e-mails avec VBA : écrire des codes et exécuter
Maintenant que vous avez activé l'objet Outlook dans Excel VBA, suivez ces étapes pour écrire la macro Excel et l'exécuter :
- Assurez-vous que vous êtes sur l'interface de l'éditeur de code VBA. Maintenant, recherchez l' onglet Insertion dans le menu supérieur d'Excel VBA.
- Cliquez sur Insérer puis sélectionnez Module pour insérer un module dans lequel vous pourrez écrire des codes VBA.
- Maintenant, copiez-collez le script VBA suivant dans le module nouvellement créé.
Sub send_email_with_VBA() Dim EmailApp As Outlook.Application Dim Source As String Set EmailApp = New Outlook.Application Dim EmailItem As Outlook.MailItem Set EmailItem = EmailApp.CreateItem(olMailItem) EmailItem.To = "[email protected]" EmailItem.CC = "[email protected]" EmailItem.BCC = "[email protected]" EmailItem.Subject = "Statut d'expédition de la commande client" EmailItem.HTMLBody = "Salut l'équipe," & vbNewLine & vbNewLine & "PFA la feuille de calcul pour la commande du jour status" & _ vbNewLine & vbNewLine & _ "Cordialement," & vbNewLine & _ "Tamal Das" Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub
Le code mentionné ci-dessus enverra un e-mail en utilisant votre compte Outlook aux adresses e-mail mentionnées dans le code.
Le contenu de l'e-mail est également disponible dans la ligne de code EmailItem.HTMLBody . De plus, Excel VBA joindra automatiquement votre classeur source à l'e-mail en tant que pièce jointe.
Vous pouvez apporter les modifications suivantes pour personnaliser les adresses et le texte du corps de l'e-mail :
- Remplacez toutes les adresses e-mail du devis par vos propres contacts Outlook .
- Personnalisez le texte EmailItem.Subject à l'intérieur du devis comme bon vous semble.
- Dans le code EmailItem.HTMLBody , vous pouvez remplacer tous les textes entre guillemets par votre propre contenu.
- Maintenant, exécutez le script VBA en appuyant sur F5 .

Pour envoyer des e-mails avec VBA avec succès, vous devez configurer le compte Gmail ou le compte Outlook dans l'application Outlook autonome de la suite Microsoft Office. Outlook basé sur un navigateur en ligne ne fonctionnera pas avec ce code VBA.
Conclusion
Maintenant que vous avez suivi les étapes susmentionnées pour envoyer des e-mails avec VBA, il devrait être plus facile pour vous d'automatiser les tâches banales dans Excel. Par exemple, laissez le fichier de feuille de calcul vous envoyer automatiquement un e-mail lorsque des collaborateurs mettent à jour la feuille de calcul. Envoyez également des e-mails automatisés aux clients lorsque vous mettez à jour la colonne d'état de la commande dans Excel.
Si vous souhaitez davantage d'automatisation Excel à l'aide de VBA, utilisez le codage d'horodatage VBA pour conserver un journal des modifications de la feuille de calcul.