Macro Excel pour l'envoi automatique d'un courriel (3 exemples pertinents)

  • Partage Ça
Hugh West

Ce tutoriel illustrera comment utiliser une macro Excel pour envoyer un courriel automatiquement. Nous pouvons configurer notre fonction d'envoi à l'aide des éléments suivants VBA Ainsi, en utilisant les macros VBA macro nous pouvons envoyer un email à plusieurs utilisateurs en même temps. Nous devons avoir Outlook installé sur notre appareil pour envoyer automatiquement des courriels à l'aide d'une macro, car le code que nous allons insérer utilise Outlook pour envoyer des courriels aux destinataires.

Télécharger le cahier d'exercices

Vous pouvez télécharger le cahier d'exercices à partir d'ici.

Envoyer des e-mails automatiquement.xlsm

3 exemples appropriés de macro Excel pour l'envoi automatique d'un courriel

Tout au long de cet article, nous allons démontrer 3 Des exemples appropriés d'utilisation de la macro Excel pour envoyer un email automatiquement aux destinataires. Avant de commencer à illustrer l'exemple, nous devons corriger une chose dans notre feuille Excel. Complétez les étapes ci-dessous avant d'appliquer la macro pour envoyer un email automatiquement.

ÉTAPES :

  • Tout d'abord, à partir de votre ensemble de données, allez à l'onglet Développeur Sélectionnez l'option Visual Basic .

  • Ensuite, allez dans le Outil et sélectionnez l'option Références .

  • Une nouvelle boîte de dialogue nommée Références - VBAProject s'ouvrira.
  • Enfin, vérifiez l'option ' Bibliothèque d'objets Microsoft Office 16.0 et cliquez sur OK .

Appliquer la macro VBA d'Excel pour envoyer automatiquement un courriel en fonction de la valeur d'une cellule.

Avant toute chose, nous appliquerons l'excel VBA pour envoyer automatiquement un courrier électronique en fonction de la valeur d'une cellule particulière de notre ensemble de données. Pour illustrer cet exemple, nous allons utiliser l'ensemble de données suivant. Nous allons écrire un code qui enverra automatiquement un courrier électronique si la valeur de la cellule D6 est supérieure à 400 .

Voyons les étapes à suivre pour effectuer cette action.

ÉTAPES :

  • Pour commencer, droite - cliquez sur sur la feuille ' Basé sur la cellule '.
  • En outre, sélectionnez l'option Afficher le code '.

  • L'action ci-dessus ouvrira une fenêtre vide VBA Une autre façon d'ouvrir cette fenêtre de code est d'appuyer sur la touche Alt + F11 .
  • En outre, tapez le code suivant dans cette fenêtre de code :
 Dim rg As Range Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Cells.Count> ; 1 Then Exit Sub Set rg = Intersect(Range("D6"), Target) If rg Is Nothing Then Exit Sub If IsNumeric(Target.Value) And Target.Value> ; 400 Then Call send_mail_outlook End If End Sub send_mail_outlook() Dim z As Object Dim y As Object Dim b As String Set z =CreateObject("Outlook.Application") Set y = z.CreateItem(0) b = "Bonjour !" & ; vbNewLine & ; vbNewLine & ; _ "J'espère que vous allez bien" & ; vbNewLine & ; _ "Visitez notre site Eldemy" On Error Resume Next With y .To = "Address" .cc = "" .BCC = "" .Subject = "send mail based on cell value" .Body = b .Display End With On Error GoTo 0 Set y = Nothing Set z = Nothing End Sub 
  • Ensuite, cliquez sur le bouton Exécuter ou appuyez sur le bouton F5 pour exécuter le code.

  • Une nouvelle boîte de dialogue nommée Macros apparaîtra.
  • Après cela, dans le Nom de la macro sélectionnez la macro ' envoyer_mail_outlook '.
  • Cliquez maintenant sur le Exécuter bouton.

  • Enfin, à partir de maintenant, lorsque la valeur de la cellule dans la cellule D6> ; 400 un courriel dans Outlook sera généré automatiquement avec des destinataires spécifiques. Il suffit de cliquer sur le bouton Envoyer pour envoyer l'e-mail.

Lire la suite : Envoyer automatiquement des e-mails depuis Excel en fonction du contenu des cellules (2 méthodes)

2. envoi automatique d'un courriel en fonction de la date d'échéance avec la macro VBA

Dans la deuxième méthode, nous utiliserons le logiciel Excel VBA Cette macro permet d'envoyer automatiquement un e-mail si la date d'échéance d'un projet est proche. Il s'agit en quelque sorte d'un rappel. Nous utilisons l'ensemble de données suivant pour illustrer cet exemple. L'ensemble de données contient les e-mails de différents vendeurs, les messages et la date d'échéance de leur projet.

Suivez les étapes ci-dessous pour effectuer cette méthode.

ÉTAPES :

  • D'abord, cliquez avec le bouton droit de la souris sur la feuille Date .
  • Ensuite, sélectionnez l'option Afficher le code '.

  • Il ouvre une page blanche VBA pour la feuille de calcul active. On peut aussi appuyer sur Alt + F11 pour obtenir cette fenêtre de code.
  • Ensuite, insérez le code suivant dans cette fenêtre de code :
 Public Sub Based_on_Date() Dim aRgDate As Range Dim aRgSend As Range Dim aRgText As Range Dim aRgDone As Range Dim aOutApp As Object Dim aMailItem As Object Dim aLastRow As Long Dim CrLf As String Dim aMailBody As String Dim zRgDateVal As String Dim zRgSendVal As String Dim aMailSubject As String Dim j As Long On Error Resume Next Set aRgDate = Application.InputBox("select the column of duedate :", _ "Send Mail Base on Date", , , , , , 8) If aRgDate Is Nothing Then Exit Sub Set aRgSend = Application.InputBox("select the email recipients column :", _ "Send Mail Base on Date", , , , , 8) If aRgSend Is Nothing Then Exit Sub Set aRgText = Application.InputBox("Select the content column of email :", _ "Send Mail Base on Date", , , , , 8) If aRgText Is Nothing Then Exit Sub aLastRow =aRgDate.Rows.Count Set aRgDate = aRgDate(1) Set aRgSend = aRgSend(1) Set aRgText = aRgText(1) Set aOutApp = CreateObject("Outlook.Application") For j = 1 To aLastRow zRgDateVal = "" zRgDateVal = aRgDate.Offset(j - 1).Value If zRgDateVal "" Then If CDate(zRgDateVal) - Date 0 Then zRgSendVal = aRgSend.Offset(j - 1).Value aMailSubject = aRgText.Offset(j - 1).Value & " on " & zRgDateVal CrLf= " 

" aMailBody = "" aMailBody = aMailBody & ; "Hello " & ; zRgSendVal & ; CrLf aMailBody = aMailBody & ; "Message : " & ; aRgText.Offset(j - 1).Value & ; CrLf aMailBody = aMailBody & ; "" Set aMailItem = aOutApp.CreateItem(0) With aMailItem .Subject = aMailSubject .To = zRgSendVal .HTMLBody = aMailBody .Display End With Set aMailItem = Nothing End If End If Next Set aOutApp = Nothing EndSous

  • Maintenant, utilisez le Exécuter ou le bouton F5 pour exécuter le code.

  • Une nouvelle boîte de dialogue s'ouvre.
  • Ensuite, dans le champ de saisie de cette boîte de dialogue, sélectionnez l'intervalle de la colonne des dates d'échéance. D$5:$D$9 Ensuite, cliquez sur OK .

  • Une autre boîte de dialogue apparaîtra.
  • En outre, dans le champ de saisie, sélectionnez la plage de colonnes. B$5:$B$9 qui contient les adresses e-mail et cliquez sur OK .

  • En outre, une autre fenêtre s'ouvrira. Sélectionnez la plage de messages. $C$5:$C$9 dans le champ de saisie de la fenêtre pop.

  • En fin de compte, nous pouvons voir des résultats comme l'image suivante. Nous obtenons 3 qui sont automatiquement créés dans 3 différentes fenêtres de Outlook Cela ne créera pas de courrier pour les deux premières adresses électroniques, car la date d'échéance de ces deux projets est dépassée.

Lire la suite : Comment envoyer automatiquement des e-mails à partir d'Excel en fonction de la date ?

Lectures similaires

  • [Résolu] : Le classeur partagé ne s'affiche pas dans Excel (avec des étapes faciles)
  • Comment envoyer un courriel à partir d'une liste Excel (2 façons efficaces)
  • Comment envoyer une feuille de calcul Excel modifiable par courriel (3 méthodes rapides)
  • Macro pour envoyer un courriel à partir d'Excel (5 exemples pertinents)
  • Macro pour envoyer un email à partir d'Excel avec le corps (3 cas utiles)

3. utiliser une macro Excel pour envoyer automatiquement un courriel avec des pièces jointes

Dans le dernier exemple, nous allons voir comment nous pouvons développer une macro Excel pour envoyer automatiquement un e-mail avec des pièces jointes. Supposons que nous ayons une pièce jointe dans l'image suivante. Nous voulons envoyer cette pièce par e-mail en utilisant Excel. VBA Pour ce faire, nous avons besoin du chemin de ce fichier Excel. Voici les étapes à suivre :

  • Sélectionnez le fichier ' Pièce jointe.xlsx ' '.
  • Cliquez sur l'option ' Chemin de copie '.

  • Donc, le chemin du fichier que nous obtenons :
E:\Exceldemy\Attachment.xlsx

Nous allons insérer ce chemin dans notre code macro pour envoyer ce fichier par e-mail. Suivez les étapes ci-dessous pour le faire.

ÉTAPES :

  • Tout d'abord, rendez-vous sur le site Développeur et sélectionnez l'option Visual Basic .

  • Une nouvelle fenêtre nommée ' Projet - VBAProject s'ouvre '.
  • Deuxièmement, Cliquez à droite sur sur le nom de la feuille.
  • Ensuite, sélectionnez Insérer > ; Module .

  • La commande ci-dessus ouvrira une fenêtre vide VBA
  • Troisièmement, tapez le code suivant dans ce module :
 Sub send_Email_complete() Dim MyOutlook As Object Set MyOutlook = CreateObject("Outlook.Application") Dim MyMail As Object Set MyMail = MyOutlook.CreateItem(olMailItem) MyMail.To = "[email protected]" MyMail.cc = "[email protected]" MyMail.BCC = "[email protected]" MyMail.Subject = "Sending Email with VBA." MyMail.Body = "This is a Sample Mail." Attached_File = "E:\ExceldemyAttachment.xlsx"MyMail.Attachments.Add Attached_File MyMail.send End Sub 
  • Ensuite, appuyez sur le bouton F5 ou cliquez sur le bouton Exécuter pour exécuter le code.

  • Enfin, le code enverra la pièce jointe aux courriels fournis dans le code. Le code envoie les courriels en utilisant les méthodes suivantes Outlook Alors, cliquez sur le Autoriser pour laisser Outlook envoyer la pièce jointe aux emails donnés.

Lire la suite : Comment appliquer une macro pour envoyer un courriel à partir d'Excel avec une pièce jointe ?

Conclusion

En conclusion, cet article montre 3 exemples d'utilisation d'excel VBA pour envoyer des messages automatiquement. Téléchargez la feuille de travail type présentée dans cet article pour mettre vos compétences à l'épreuve. Si vous avez des questions, veuillez laisser un commentaire dans la case ci-dessous. Notre équipe s'efforcera de répondre à votre message dans les plus brefs délais. Gardez l'œil ouvert pour d'autres activités inventives. Microsoft Excel à l'avenir.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.