VBA Outlook : Créer un nouvel e-mail

VBA - Visual Basic for Application

VBA est souvent utilisé pour automatiser des tâches de routine et faciliter la vie quotidienne. Vous pouvez également vous faciliter la vie dans Outlook grâce à quelques scripts VBA bien déployés. Une fonction de base peut être la création automatique d’un nouveau courrier électronique par l’exécution d’une macro ou d’un clic.

Bien sûr, vous pourriez argumenter : “Vous pouvez également le faire dans Outlook… en utilisant le bouton ‘Nouveau courriel'”. Bien sûr, mais qu’en est-il si je peux également spécifier le destinataire dans le nouveau courriel automatiquement ? Ou si vous pouviez spécifier un texte préformaté où la police et la taille de la police sont définies correctement ? Ou si je peux également transférer la priorité de l’e-mail ?

Cela permettrait d’économiser beaucoup de clics, à condition que le cas d’utilisation le permette.

Créer un courriel avec la méthode CreateItem()

Pour créer automatiquement un nouvel e-mail avec Outlook, vous pouvez utiliser la macro suivante. La fonction à utiliser est Application.CreateItem(…).

Vous pouvez également constater immédiatement la richesse des paramètres qui peuvent être configurés. Les paramètres qui ne sont pas nécessaires peuvent simplement être omis.

Public Sub NewMail()
    Dim olItem As Outlook.MailItem
   
    Set olItem = Application.CreateItem(olMailItem)
    
    With olItem
         .To = "john.doe@my-domain.de"
         .CC = "mr.xy@gmail.com"
         .BCC = "mrs.xy@yahoo.com"
         .subject = "Important News"
         .VotingOptions = "Accept;Reject"
         .BodyFormat = olFormatHTML
         .Importance = olImportanceHigh
         .Sensitivity = olConfidential
         .Attachments.Add ("c:\Users\danie\Desktop\ekiwi_logo_en-1.jpg")
         .ExpiryTime = DateAdd("d", 1, Now)
         .DeferredDeliveryTime = #2/18/2024 8:00:00 AM#
         .HTMLBody = "<BODY style=font-size:20pt;font-family:Calibri><p>Hello,</p><p>today you receive our new newsletter</p><p>best regards,<br>Max Iceberg</p></BODY>"
         .Display
    End With

    Set olItem = Nothing
End Sub

Explication des paramètres

Les paramètres à définir sont en fait également familiers du fonctionnement normal d’Outlook et sont presque explicites.

Paramètre “To”:

L’adresse du destinataire est saisie ici ou, s’il y a plusieurs adresses, plusieurs destinataires peuvent également être saisis ici, séparés par des points-virgules.

Paramètre “CC”:

Vous indiquez ici les adresses électroniques qui doivent recevoir une copie du courrier électronique, en les séparant à nouveau par un point-virgule s’il y a plusieurs adresses électroniques. Tous les destinataires de l’e-mail peuvent voir qui fait partie de la liste CC.

Paramètre “BCC”:

Ce paramètre correspond à “Blind Copy” (copie aveugle). Saisissez ici les adresses électroniques, comme pour “To” ou “CC”. La seule différence est que les destinataires ne peuvent pas voir que cet e-mail a également été envoyé aux destinataires indiqués ici.

Paramètre “Subject”:

Il suffit de saisir ici un texte qui servira d’objet à l’e-mail.

Paramètre “VotingOptions”:

Il s’agit des boutons de vote pour un courriel de réponse qui sont affichés dans le courriel. Vous pouvez saisir n’importe quel mot ici. Les différents boutons de vote doivent être séparés les uns des autres par des points-virgules.

Paramètre “BodyFormat”:

Ce paramètre permet de spécifier le format de l’e-mail. Il existe trois options qui peuvent être spécifiées à l’aide des énumérations suivantes. Vous pouvez utiliser le nombre ou le libellé :

  • olFormatUnspecified (valeur 0) : aucun format spécifié
  • olFormatPlain (valeur 1) : le courriel est formaté en texte
  • olFormatHTML (valeur 2) : formate l’email en HTML
  • olFormatRichText (valeur 3) : formate l’email au format RichText

Paramètre “Importance”

Ce paramètre peut être utilisé pour afficher l’importance d’un message électronique. Dans l’e-mail lui-même, une importance élevée est généralement signalée par un point d’exclamation rouge. Les énumérations suivantes ou la valeur elle-même peuvent être utilisées pour indiquer l’importance :

  • olImportanceLow (valeur 0) : faible importance
  • olImportanceNormal (valeur 1) : pas d’importance ou importance normale ou moyenne
  • olImportanceHigh (valeur 2) : importance élevée

Paramètre “Sensitivity”:

Ce paramètre peut être utilisé pour donner à l’e-mail un statut indiquant le degré de sensibilité du contenu à traiter ou le degré de confidentialité de l’e-mail. Pour ce faire, vous pouvez passer quatre valeurs (énumérations), qui ont la signification suivante. Le destinataire du courriel se voit alors indiquer, par exemple, que le courriel doit être traité comme “confidentiel”. Les valeurs sont presque explicites :

  • olNormal (valeur 0) : aucun niveau de confidentialité ; valeur par défaut ; dans ce cas, le paramètre peut également être omis.
  • olPersonal (valeur 1) : personnel
  • olPrivate (valeur 2) : Privé
  • olConfidential (valeur 3) : confidentiel

Paramètre “ExpiryTime”

Il est possible de spécifier ici une date d’expiration pour le courrier électronique. Une fois la date d’expiration atteinte, l’e-mail est marqué comme barré par le destinataire, mais reste dans la boîte de réception. Cela indique au destinataire que le contenu de l’e-mail n’est plus pertinent.

Dans l’exemple ci-dessus, la fonction DateAdd a été utilisée avec le paramètre/fonction Now. Cette fonction est utilisée pour transmettre une date d’expiration calculée à partir d’aujourd’hui en semaines, jours, mois ou autres.

Paramètre “DeferredDeliveryTime”:

Ce paramètre permet de retarder l’envoi ou la remise du courrier électronique. Vous transmettez à ce paramètre une date/heure à laquelle le courriel doit être livré. Le courriel reste dans la boîte d’envoi d’Outlook jusqu’à ce que cette date/heure soit atteinte.

Paramètre “Pièces jointes”

Le paramètre Attachments est une liste de toutes les pièces jointes qui doivent être jointes à l’e-mail nouvellement créé. Utilisez la fonction Add pour ajouter les pièces jointes individuelles à la liste. Pour ce faire, transmettez à la fonction Add le chemin d’accès complet au fichier respectif qui doit être joint à l’e-mail.

Paramètre “HTMLBody” ou “Body”:

C’est ici que vous insérez le texte de l’e-mail, dans notre cas au format HTML. Si, par exemple, “PlainText” a été spécifié comme format de corps, ce paramètre ne peut pas être utilisé. Le paramètre “Body” est utilisé à la place. Pour le format RichText, le paramètre “RTFBody” doit être utilisé.

Il existe un certain nombre d’autres paramètres qui peuvent tous être configurés dans la macro VBA, tels que ReplyTo, c’est-à-dire les adresses électroniques de réponse auxquelles l’e-mail de réponse doit être envoyé.

Résultat : Vue de l’e-mail nouvellement créé dans Outlook

Méthode “Affichage”

L’appel de la méthode “Affichage” entraîne l’affichage dans Outlook de l’e-mail nouvellement créé.

Email

L’image suivante montre le nouvel e-mail créé avec VBA et les effets des différents paramètres à l’aide de l’exemple de code présenté ci-dessus.

Capture d'écran du nouveau courriel créé automatiquement avec VBA et étiquetage des différents paramètres
Exemple de courriel nouvellement généré avec le code VBA

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *