Accéder au contenu principal

Kutools for Office — Une Suite. Cinq Outils. Accomplissez Plus.

Comment obtenir l'adresse e-mail de l'expéditeur d'un ou plusieurs e-mails dans Outlook ?

Author Siluvia Last modified

Avez-vous déjà essayé d'extraire l'adresse e-mail du champ "De" d'un ou plusieurs e-mails reçus dans Outlook ? Cet article fournit un code VBA pour vous aider à accomplir cette tâche.


Obtenir l'adresse e-mail de l'expéditeur d'un ou plusieurs e-mails dans Outlook

Veuillez exécuter le code VBA suivant pour extraire l'adresse e-mail du champ "De" d'un ou plusieurs e-mails reçus dans Outlook.

1. Ouvrez un dossier d'e-mails, sélectionnez un message électronique dont vous souhaitez obtenir l'adresse e-mail de l'expéditeur. Appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic for Applications.

Remarque : Pour sélectionner plusieurs e-mails, maintenez la touche Ctrl enfoncée, puis sélectionnez les e-mails un par un.

2. Dans la fenêtre Microsoft Visual Basic for Applications, cliquez sur Insérer > Module, puis copiez le code VBA suivant dans la fenêtre Module (code).

steps on getting the sender’s email address from one or more emails in Outlook

Code VBA : extraire l'adresse e-mail de l'expéditeur d'un ou plusieurs e-mails dans Outlook

Sub GetSmtpAddressOfSelectionEmail()
  Dim xExplorer As Explorer
  Dim xSelection As Selection
  Dim xItem As Object
  Dim xMail As MailItem
  Dim xAddress As String
  Dim xFldObj As Object
  Dim FilePath As String
  Dim xFSO As Scripting.FileSystemObject
  On Error Resume Next
  Set xExplorer = Application.ActiveExplorer
  Set xSelection = xExplorer.Selection
  For Each xItem In xSelection
    If xItem.Class = olMail Then
      Set xMail = xItem
      xAddress = xAddress & VBA.vbCrLf & "  " & GetSmtpAddress(xMail)
    End If
  Next
  If MsgBox("Sender SMTP Address is: " & xAddress & vbCrLf & vbCrLf & "Do you want to export the address list to a txt file? ", vbYesNo, "Kutools for Outlook") = vbYes Then
    Set xFldObj = CreateObject("Shell.Application").BrowseforFolder(0, "Select a Folder", 0, 16)
    Set xFSO = New Scripting.FileSystemObject
    If xFldObj Is Nothing Then Exit Sub
    FilePath = xFldObj.Items.Item.Path & "\Address.txt"
    Close #1
    Open FilePath For Output As #1
    Print #1, "Sender SMTP Address is: " & xAddress
    Close #1
    Set xFSO = Nothing
    Set xFldObj = Nothing
    MsgBox "Address list has been exported to:" & FilePath, vbOKOnly + vbInformation, "Kutools for Outlook"
  End If
End Sub
Function GetSmtpAddress(Mail As MailItem)
  Dim xNameSpace As Outlook.NameSpace
  Dim xEntryID As String
  Dim xAddressEntry As AddressEntry
  Dim PR_SENT_REPRESENTING_ENTRYID As String
  Dim PR_SMTP_ADDRESS As String
  Dim xExchangeUser As exchangeUser
  On Error Resume Next
  GetSmtpAddress = ""
  Set xNameSpace = Application.Session
  If Mail.sender.Type <> "EX" Then
    GetSmtpAddress = Mail.sender.Address
  Else
    PR_SENT_REPRESENTING_ENTRYID = "http://schemas.microsoft.com/mapi/proptag/0x00410102"
    xEntryID = Mail.PropertyAccessor.BinaryToString(Mail.PropertyAccessor.GetProperty(PR_SENT_REPRESENTING_ENTRYID))
    Set xAddressEntry = xNameSpace.GetAddressEntryFromID(xEntryID)
    If xAddressEntry Is Nothing Then Exit Function
    If xAddressEntry.AddressEntryUserType = olExchangeUserAddressEntry Or xAddressEntry.AddressEntryUserType = olExchangeRemoteUserAddressEntry Then
      Set xExchangeUser = xAddressEntry.GetExchangeUser()
      If xExchangeUser Is Nothing Then Exit Function
      GetSmtpAddress = xExchangeUser.PrimarySmtpAddress
    Else
      PR_SMTP_ADDRESS = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
      GetSmtpAddress = xAddressEntry.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS)
    End If
  End If
End Function

3. Cliquez sur Outils > Références, puis cochez la case Microsoft Scripting Runtime dans la boîte de dialogue Références – Projet1.

steps on getting the sender’s email address from one or more emails in Outlook

4. Appuyez sur la touche F5 pour exécuter le code. Ensuite, une boîte de dialogue Kutools for Outlook apparaît, listant toutes les adresses e-mail des expéditeurs des e-mails sélectionnés.

Remarque :

Si vous devez exporter la liste d'adresses vers un fichier txt, cliquez sur le bouton Oui.
Ou cliquez sur le bouton Non pour mettre fin au processus.
steps on getting the sender’s email address from one or more emails in Outlook

5. Après avoir cliqué sur le bouton Oui, une boîte de dialogue Parcourir le dossier apparaît. Veuillez choisir un dossier pour enregistrer le fichier et cliquez sur le bouton OK.

steps on getting the sender’s email address from one or more emails in Outlook

6. Enfin, une boîte de dialogue Kutools for Outlook s'affichera, indiquant le chemin du fichier exporté. Cliquez sur OK pour la fermer.

steps on getting the sender’s email address from one or more emails in Outlook

7. Allez dans le dossier où le fichier exporté est enregistré et ouvrez le fichier .txt nommé Adresse pour voir les adresses e-mail des expéditeurs des e-mails sélectionnés.

steps on getting the sender’s email address from one or more emails in Outlook

Meilleurs outils de productivité pour Office

Dernière nouvelle : Kutools pour Outlook lance sa version gratuite !

Découvrez le tout nouveau Kutools pour Outlook avec plus de100 fonctionnalités incroyables ! Cliquez pour télécharger dès maintenant !

🤖 Kutools IA : Exploite une technologie avancée d’IA pour gérer les e-mails en toute simplicité, notamment pour répondre, résumer, optimiser, étendre, traduire et rédiger des e-mails.

📧 Automatisation des E-mails : Réponse automatique (disponible pour POP et IMAP) / Programmer l’envoi d’un e-mail / CC/BCC automatique par règle lors de l’envoi / Transfert automatique (règle avancée) / Ajouter automatiquement une salutation / Diviser automatiquement les e-mails multi-destinataires en messages individuels ...

📨 Gestion des E-mails : Rappeler lemail / Bloquer les e-mails frauduleux par objet et autres critères / Supprimer les doublons / Recherche Avancée / Organiser les dossiers ...

📁 Pièces jointes Pro : Enregistrement en lot / Détachement en lot / Compression en lot / Enregistrer automatiquement / Détachement automatique / Compression automatique ...

🌟 Interface magique : 😊Plus d’emojis élégants et amusants / Vous rappelle lorsque des e-mails importants arrivent / Réduire Outlook au lieu de fermer ...

👍 Fonctions en un clic : Répondre à tous avec pièces jointes / E-mails anti-phishing / 🕘Afficher le fuseau horaire de l’expéditeur ...

👩🏼‍🤝‍👩🏻 Contacts & Calendrier : Ajouter en lot des contacts à partir des e-mails sélectionnés / Diviser un groupe de contacts en groupes individuels / Supprimer le rappel d’anniversaire ...

Utilisez Kutools dans votre langue préférée – prend en charge l’Anglais, l’Espagnol, l’Allemand, le Français, le Chinois et plus de40 autres !

Débloquez instantanément Kutools pour Outlook en un seul clic. N’attendez pas, téléchargez dès maintenant pour gagner en efficacité !

kutools for outlook features1 kutools for outlook features2

🚀 Téléchargement en un clic — Obtenez tous les compléments Office

Recommandé vivement : Kutools pour Office (5-en-1)

Un clic pour télécharger cinq installateurs en une seule fois — Kutools pour Excel, Outlook, Word, PowerPoint et Office Tab Pro. Cliquez pour télécharger dès maintenant !

  • Praticité en un clic : téléchargez les cinq packages d’installation en une seule action.
  • 🚀 Prêt pour toutes les tâches Office : installez les compléments dont vous avez besoin, quand vous en avez besoin.
  • 🧰 Inclus : Kutools pour Excel / Kutools pour Outlook / Kutools pour Word / Office Tab Pro / Kutools pour PowerPoint