Site icon eKiwi-Blog.de

VBA : Lire la date et l’heure d’un e-mail Outlook

VBA - Visual Basic for Application

VBA est très utile pour automatiser des tâches quotidiennes et répétitives. Si l’on utilise VBA dans le cadre de Microsoft Outlook pour simplifier le travail quotidien avec les e-mails ou pour transférer en un clic les données de formulaire des e-mails dans un tableau Excel, il peut arriver que l’on doive aussi lire la date et/ou l’heure à laquelle on a reçu l’e-mail.

Code VBA

C’est même relativement simple et ne prend que quelques lignes, une fois que l’on dispose de l’objet mail dans le code VBA. Le code Visual Basic correspondant se présente comme suit :

Sub TimeOfEMail()
    Dim objOL As Outlook.Application
    Dim objMsg As Outlook.MailItem
    Dim objSelection As Outlook.Selection
    Dim receivedDateTime As Date
    ' Objet d'application Outlook
    Set objOL = CreateObject("Outlook.Application")
    ' Déterminer la collection des objets sélectionnés (e-mails).
    Set objSelection = objOL.ActiveExplorer.Selection
    'Utiliser le premier email sélectionné
    Set objMsg = objSelection.Item(1)
    receivedDateTime = objMsg.ReceivedTime
    'à quelque chose avec DateTime Value
    Debug.Print receivedDateTime
End Sub

Dans la première partie, il s’agit simplement de déterminer le bon objet VBA qui représente l’e-mail (objMsg). Une fois que l’on a cela, c’est très simple. En effet, l’objet MailItem possède une propriété appelée “ReceivedTime“, qui contient la date et l’heure. Via Debug.Print, elle est dans ce cas affichée dans la fenêtre de la console ou fenêtre directe.

Code et sortie dans la fenêtre de la console

Si la sortie standard ne suffit pas, on peut encore formater la date et l’heure de réception avec la fonction Format. Cela pourrait alors ressembler à ceci :

MyDate = Format(receivedDateTime, "dddd, mmm d yyyy")
' donne "lundi, fév 27 2023"
Debug.Print MyDate

Pour plus d’informations sur les différentes possibilités de formatage de la date et de l’heure, consultez la Documentation Microsoft sur la fonction Format.

Quitter la version mobile