Voici une méthode pour savoir comment envoyer des courriels en utilisant une macro VBA dans Excel. Dans ce post, je ne vais pas passer par un guide étape par étape sur la façon dont l’envoi d’e-mails en utilisant Excel est possible en utilisant des macros et des options VBA dans Microsoft Excel.
C’est parce que le modèle de feuille de calcul que je voudrais partager a été créé dans un but très spécifique, et il est peu probable qu’il soit utile au lecteur moyen du blog.
Ce que je voudrais faire à la place, c’est vous donner un exemple de pourquoi et comment j’avais besoin d’envoyer des e-mails (avec des pièces jointes) en utilisant Excel. Cela pourrait peut-être être une inspiration pour vous de rendre plus efficace un certain processus avec votre flux de travail ou vos collègues.
J’ai appris la formule de base du modèle à partir de cette vidéo YouTube ci-dessous.
Je vais expliquer comment j’ai utilisé le modèle détaillé dans la vidéo ci-dessus, et l’ai utilisé pour accomplir la tâche que j’avais besoin d’automatiser.
Ce que j’avais besoin que la macro fasse pour moi
Ce que j’avais besoin de faire était le suivant.
À partir d’une base de données, je pourrais télécharger des rapports de vente séparés pour chaque pays. Je peux également télécharger les données (qui contiennent les visiteurs du site Web, les prospects et les ventes) dans un tableau dans Excel.
Vous trouverez ci-dessous le tableau avec les données (les données qui s’y trouvent actuellement sont toutes des nombres aléatoires générés par la formule =RANDBETWEEN()).
J’avais besoin d’un moyen de copier et coller le tableau dans une feuille Excel, qui créerait ensuite automatiquement des courriels uniques pour 23 bureaux de vente différents.
Chaque courriel unique devrait résumer la performance du bureau de vente et avoir une pièce jointe unique.
J’ai fini par obtenir un modèle de courriel ci-dessous.
J’ai ensuite créé une macro VBA dans Excel. Le texte de la macro est ci-dessous.
Sub Send_email_fromexcel()Dim edress As StringDim subj As StringDim message As StringDim filename As StringDim outlookapp As ObjectDim outlookmailitem As ObjectDim myAttachments As ObjectDim path As StringDim lastcol As IntegerDim attachment As StringDim x As Integer x = 2Do While Sheet7.Cells(2, x) <> "" Set outlookapp = CreateObject("Outlook.Application") Set outlookmailitem = outlookapp.createitem(0) Set myAttachments = outlookmailitem.Attachments path = Sheet7.Cells(5, x) edress = Sheet7.Cells(2, x) cc = Sheet7.Cells(3, x) subj = Sheet7.Cells(4, x) filename = Sheet7.Cells(6, x) attachment = path + filename outlookmailitem.to = edress outlookmailitem.cc = cc outlookmailitem.bcc = "" outlookmailitem.Subject = subj outlookmailitem.body = Sheet7.Cells(7, x) myAttachments.Add (attachment) outlookmailitem.display outlookmailitem.send lastcol = lastcol + 1 edress = "" x = x + 1LoopSet outlookapp = NothingSet outlookmailitem = NothingEnd Sub
J’ai fourni le modèle de fichier Excel si vous souhaitez expérimenter et vous entraîner à utiliser le fichier.
Malheureusement, j’ai dû supprimer la macro du fichier, car je suis incapable de télécharger un fichier .xlsm sur ce site WordPress.
Télécharger le modèle de fichier Excel
Télécharger le fichier modèle en cliquant sur le lien ci-dessous :
J’espère que cet article a été utile pour ceux qui sont intéressés à automatiser certaines tâches impliquant Excel et Outlook !
Mes autres articles de blog
Si vous avez apprécié cet article, vous pourriez apprécier ces autres articles de blog que j’ai écrits.
.
Je suis Michael
Je suis un analyste numérique sud-africain vivant à Toronto, au Canada. Je blogue sur le marketing numérique, les analyses web et la visualisation de données.
Contactez-moi!
LinkedIn
Twitter
Email
.