VBA Envoyer un e-mail depuis Excel

VBA n'est pas seulement limité aux données dans Excel. Nous pouvons envoyer des e-mails via VBA et c'est ce que nous allons apprendre dans cet article. Il nécessite une connaissance considérable de VBA et de ses méthodes pour écrire le code pour envoyer des e-mails à partir d'Excel. Avant de passer à la rédaction et à l'envoi d'e-mails d'Excel, dites-nous ce que signifie cette automatisation. Ce type d'automatisation signifie accéder à une fonctionnalité d'une autre application à l'aide de toute autre application. Maintenant que la fonctionnalité de mailing est offerte par Microsoft dans Outlook, nous utiliserons les méthodes et les propriétés d'Outlook dans Excel pour envoyer des e-mails. Pour envoyer un e-mail, nous devons également connaître les bases de l'e-mail. En termes simples, quel est le processus et quelle est l'obligation d'envoyer un e-mail? Un e-mail consiste en une adresse e-mail de l'expéditeur s'il existe un CC (Carbon Copy) ou un BCC et une ligne d'objet avec un corps d'e-mail.

Comment envoyer des e-mails depuis Excel VBA?

Laissez-nous apprendre à envoyer des e-mails via Outlook à partir d'Excel dans VBA par un exemple. Dans cet exemple, nous enverrons également une pièce jointe au récepteur, le même fichier Excel que nous allons écrire le code.

Vous pouvez télécharger ce modèle Excel d'envoi d'e-mail VBA ici - Modèle Excel d'envoi d'e-mail VBA

Suivez les étapes ci-dessous pour envoyer des e-mails depuis Excel à l'aide du code VBA:

Étape 1: Dans l' onglet Développeur, cliquez sur Visual Basic pour ouvrir l'éditeur VB.

Avant de passer à l'écriture de codes pour envoyer un e-mail, nous devons savoir que Outlook est un objet externe et nous devons le référencer dans le VBA.

Étape 2: Accédez à Outils, puis sélectionnez Références.

Étape 3: En cliquant sur la référence, une boîte de dialogue s'ouvre pour nous, recherchez une référence pour la bibliothèque d'objets Microsoft Outlook et vérifiez-la, puis cliquez sur OK.

Étape 4: Cliquez sur l'onglet Insérer et insérez un module dans le projet VBA.

Étape 5: Définissez une sous-procédure comme indiqué ci-dessous.

Code:

 Sub EmailExample () End Sub 

Étape 6: En faisant référence aux perspectives ci-dessus, nous pouvons maintenant accéder aux propriétés de perspectives dans VBA. Déclarons maintenant une variable comme une application Outlook.

Code:

 Dim Email as Outlook.Application 

Étape 7: Comme FSO, cette variable est une variable objet, donc pour accéder à toute autre application, nous devons créer des instances, créez une instance comme indiqué ci-dessous à l'aide du mot clé SET.

Code:

 Set Email = New Outlook.Application 

Étape 8: Puisque nous voulons envoyer une pièce jointe au récepteur, nous devons déclarer une variable en tant que chaîne qui contiendra le chemin de la pièce jointe.

Code:

 Dim Sr As String 

Étape 9: Maintenant, commençons par la partie mailing de ce code, pour envoyer un e-mail, nous devons définir une autre variable qui utilisera la propriété d'Outlook pour faire référence à un nouvel e-mail, comme indiqué ci-dessous.

Code:

 Dim newmail As Outlook.MailItem 

Étape 10: Similaire à ci-dessus avec l'utilisation d'une autre application dans l'exemple, nous devons créer des instances, maintenant nous devons créer une instance pour un nouvel e-mail qui ouvrira le nouvel e-mail en utilisant le mot-clé set.

Code:

 Définissez newmail = Email.CreateItem (olMailItem) 

Avant d'aller plus loin, permettez-moi d'expliquer nos progrès jusqu'à présent, la première instance ouvrira des perspectives pour nous tandis que la deuxième instance ouvrira le nouvel e-mail pour nous.

Étape 11: Comme je l'ai expliqué ci-dessus sur la nécessité d'envoyer un e-mail. La première exigence est un destinataire qui est «À» dans un e-mail. Utilisons donc la propriété To de Outlook dans Excel comme suit.

Code:

 newmail.To = " " 

Étape 12: Puisque nous avons utilisé la propriété To, nous avons une autre fonctionnalité à utiliser, telle que la copie Carbon ou la propriété CC d'Outlook.

Code:

 newmail.CC = " " 

De même, nous pouvons utiliser la propriété BCC.

Remarque: la propriété BCC est utilisée lorsque nous voulons masquer l'adresse e-mail du destinataire BCC aux autres destinataires.

Quelle est la prochaine étape de l'envoi d'un e-mail?

Étape 13: Elle est soumise. Lorsque nous écrivons le nom de l'instance avec un opérateur point, nous pouvons voir l'option pour un sujet comme suit.

Étape 14: Appuyez sur Tab sur le sujet IntelliSense et écrivez un sujet aléatoire comme indiqué ci-dessous.

Code:

 newmail.Subject = "Ceci est un e-mail automatisé" 

Étape 15: L'étape suivante de la rédaction d'un e-mail est un corps pour l'e-mail. Comme les propriétés, nous avons utilisé ci-dessus avec l'instance, utilisons la propriété body de la perspective pour écrire le corps comme suit.

Code:

 newmail.HTMLBody = "Salut", & vbNewLine & vbNewLine & "Ceci est un e-mail de test provenant d'Excel" & _ vbNewLine & vbNewLine & _ "Cordialement", & vbNewLine & _ "VBA Coder" 

Étape 16: Nous avons maintenant créé un e-mail contenant un corps et une ligne d'objet. L'étape suivante consiste à ajouter une pièce jointe à l'e-mail. Puisque nous voulons envoyer la feuille de calcul actuelle au récepteur, nous utiliserons le chemin comme suit,

Code:

 Sr = ThisWorkbook.FullName 

Étape 17: Maintenant, nous pouvons envoyer la pièce jointe en utilisant la propriété de pièce jointe comme indiqué ci-dessous.

Code:

 newmail.Attachments.Add Sr 

Étape 18: Maintenant, nous devons enfin envoyer l'e-mail. Comme dans Outlook, nous appuyons sur le bouton Envoyer pour envoyer un e-mail, de la même manière, nous utiliserons les propriétés d'envoi d'Outlook comme suit.

Code:

 newmail.Send 

Code complet final

Voici donc le code final sur la façon d'envoyer un e-mail à partir d'Excel avec l'aide de VBA.

Code:

 Sub EmailExample () Dim Email as Outlook.Application Set Email = New Outlook.Application Dim Sr As String Dim newmail As Outlook.MailItem Set newmail = Email.CreateItem (olMailItem) newmail.To = " " newmail.CC = " " newmail.Subject = "Il s'agit d'un e-mail automatisé" newmail.HTMLBody = "Salut", & vbNewLine & vbNewLine & "Ceci est un e-mail de test provenant d'Excel" & _ vbNewLine & vbNewLine & _ "Cordialement, " & vbNewLine & _ "VBA Coder" Sr = ThisWorkbook.FullName newmail.Attachments.Add Sr newmail.Send End Sub 

Lorsque nous exécutons le code ci-dessus, nous devons attendre quelques secondes que le code s'exécute et nous pouvons vérifier la boîte envoyée dans Outlook que l'e-mail a été envoyé via Excel.

Choses dont il faut se rappeler

  • Nous utilisons une autre application pour envoyer un e-mail à partir d'Excel.
  • Pour utiliser une autre application, nous créons des instances.
  • Avant d'utiliser Outlook comme une autre application, nous devons nous référer aux objets Outlook à partir de l'onglet de référence.
  • Nous devons connaître les exigences d'un e-mail pour envoyer un e-mail.

Articles recommandés

Ceci est un guide pour VBA Envoyer un e-mail depuis Excel. Ici, nous discutons de la façon d'envoyer des e-mails avec des pièces jointes d'Excel en utilisant le code VBA ainsi qu'un exemple et un modèle Excel téléchargeable. Voici quelques articles Excel utiles liés à VBA -

  1. Hyperlien VBA avec des exemples
  2. Comment utiliser la fonction YEAR dans Excel?
  3. Conseils sur l'utilisation de VBA Outlook
  4. Tutoriels sur la fonction de date Excel

Catégorie: