Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer une adresse complète proveannt d'Outlook

10 réponses
Avatar
Sophy
Bonjour,

J'ai créé un objet outlook application et je voudrais effectuer une
recherche de mails portant sur l'adresse de l'expéditeur.

Voici ma déclaration de variables :
Public ol As Outlook.Application
Public olFolder As MAPIFolder
Public olDestFolder As MAPIFolder
Public olItems As Items
Public olMail As MailItem

Set ol = New Outlook.Application
Set olFolder = ol.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set olItems = olFolder.Items

Je parcours olItems et récupère chaque mail dans olMail
Or, quand je consulte olMail.SenderName je n'ai qu'un alias (ex : "Sophie
GRAIGNIC") et j'aurais voulu travailler sur l'adresse complète (ex :
"sophie_graignic@hotmail.com)
Ceci dans le but de ne garder que les mails provenant d'un fournisseur
particulier (ex : tous ceux qui ont une adresse "hotmail")

Merci pour votre aide,
Sophy.

10 réponses

Avatar
Jacques93
Bonjour Sophy,
Sophy a écrit :
Bonjour,

J'ai créé un objet outlook application et je voudrais effectuer une
recherche de mails portant sur l'adresse de l'expéditeur.

Voici ma déclaration de variables :
Public ol As Outlook.Application
Public olFolder As MAPIFolder
Public olDestFolder As MAPIFolder
Public olItems As Items
Public olMail As MailItem

Set ol = New Outlook.Application
Set olFolder = ol.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set olItems = olFolder.Items

Je parcours olItems et récupère chaque mail dans olMail
Or, quand je consulte olMail.SenderName je n'ai qu'un alias (ex : "Sophie
GRAIGNIC") et j'aurais voulu travailler sur l'adresse complète (ex :
")
Ceci dans le but de ne garder que les mails provenant d'un fournisseur
particulier (ex : tous ceux qui ont une adresse "hotmail")



Utilises la propriété SenderEmailAddress :

olMail.SenderEmailAddress

--
Cordialement,

Jacques.
Avatar
Sophy
Bonjour Jacques,

En fait cette propriété n'est pas accessible pour mon objet olMail ("L'objet
ne gère pas cette propriété ou cette méthode")
Je n'ai que la propriété SenderName...

"Jacques93" a écrit :

Bonjour Sophy,
Sophy a écrit :
> Bonjour,
>
> J'ai créé un objet outlook application et je voudrais effectuer une
> recherche de mails portant sur l'adresse de l'expéditeur.
>
> Voici ma déclaration de variables :
> Public ol As Outlook.Application
> Public olFolder As MAPIFolder
> Public olDestFolder As MAPIFolder
> Public olItems As Items
> Public olMail As MailItem
>
> Set ol = New Outlook.Application
> Set olFolder = ol.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
> Set olItems = olFolder.Items
>
> Je parcours olItems et récupère chaque mail dans olMail
> Or, quand je consulte olMail.SenderName je n'ai qu'un alias (ex : "Sophie
> GRAIGNIC") et j'aurais voulu travailler sur l'adresse complète (ex :
> ")
> Ceci dans le but de ne garder que les mails provenant d'un fournisseur
> particulier (ex : tous ceux qui ont une adresse "hotmail")

Utilises la propriété SenderEmailAddress :

olMail.SenderEmailAddress

--
Cordialement,

Jacques.



Avatar
Jacques93
Bonjour Sophy,
Sophy a écrit :
Bonjour Jacques,

En fait cette propriété n'est pas accessible pour mon objet olMail ("L'objet
ne gère pas cette propriété ou cette méthode")
Je n'ai que la propriété SenderName...




Quelle version d'Outlook utilises tu ? Avec 2003 c'est OK pour la
propriété SenderEmailAddress. Je n'ai pas d'autres versions sous la main.

--
Cordialement,

Jacques.
Avatar
Sophy
Flûte, j'ai la version 2000. Et je viens de lire que cette propriété n'existe
que depuis la version 2003 justement...
Tu ne connais pas un autre moyen par hasard ? (même + tordu !)

"Jacques93" a écrit :

Bonjour Sophy,
Sophy a écrit :
> Bonjour Jacques,
>
> En fait cette propriété n'est pas accessible pour mon objet olMail ("L'objet
> ne gère pas cette propriété ou cette méthode")
> Je n'ai que la propriété SenderName...
>

Quelle version d'Outlook utilises tu ? Avec 2003 c'est OK pour la
propriété SenderEmailAddress. Je n'ai pas d'autres versions sous la main.

--
Cordialement,

Jacques.



Avatar
Jacques93
Bonjour Sophy,
Sophy a écrit :
Flûte, j'ai la version 2000. Et je viens de lire que cette propriété n'existe
que depuis la version 2003 justement...
Tu ne connais pas un autre moyen par hasard ? (même + tordu !)



Si c'est le nom de l'expéditeur qui est renvoyé par SenderName, je
suppose que c'est parce qu'il est connu via ton carnet d'adresse. Tu
pourrais donc y rechercher ce nom et récupérer son adresse. Le code qui
suit fonctionne sous 2003, essaie le, et si c'est OK fais en une
fonction qui renvoie l'adresse correspondant à un nom.

Dim olAddrList As AddressList
Dim olAddrs As AddressEntries
Dim olAddr As AddressEntry

Private Sub ListContact ()
' Adapter le nom du carnet d'adresse. Ici "Contacts"
Set olAddrList = ol.GetNamespace("MAPI").AddressLists("Contacts")
Set olAddrs = olAddrList.AddressEntries
For Each olAddr In olAddrs
Debug.Print olAddr.Name & " : " & olAddr.Address
Next
End Sub


--
Cordialement,

Jacques.
Avatar
Sophy
Et bien non, les contacts dont il s'agit ne font partie ni de mes contacts,
ni du carnet d'adresses ! C'est leur fournisseur, je pense, qui formate leur
adresse de cette façon (ex : "Sophie GRAIGNIC
[mailto:]")


"Jacques93" a écrit :

Bonjour Sophy,
Sophy a écrit :
> Flûte, j'ai la version 2000. Et je viens de lire que cette propriété n'existe
> que depuis la version 2003 justement...
> Tu ne connais pas un autre moyen par hasard ? (même + tordu !)

Si c'est le nom de l'expéditeur qui est renvoyé par SenderName, je
suppose que c'est parce qu'il est connu via ton carnet d'adresse. Tu
pourrais donc y rechercher ce nom et récupérer son adresse. Le code qui
suit fonctionne sous 2003, essaie le, et si c'est OK fais en une
fonction qui renvoie l'adresse correspondant à un nom.

Dim olAddrList As AddressList
Dim olAddrs As AddressEntries
Dim olAddr As AddressEntry

Private Sub ListContact ()
' Adapter le nom du carnet d'adresse. Ici "Contacts"
Set olAddrList = ol.GetNamespace("MAPI").AddressLists("Contacts")
Set olAddrs = olAddrList.AddressEntries
For Each olAddr In olAddrs
Debug.Print olAddr.Name & " : " & olAddr.Address
Next
End Sub


--
Cordialement,

Jacques.



Avatar
Jacques93
Bonjour Sophy,
Sophy a écrit :
Et bien non, les contacts dont il s'agit ne font partie ni de mes contacts,
ni du carnet d'adresses ! C'est leur fournisseur, je pense, qui formate leur
adresse de cette façon (ex : "Sophie GRAIGNIC
[mailto:]")



Exact, j'aurais du regarder dans ma boite avant de répondre :-(
Pas d'autres idées pour le moment, mais apparement tu n'es pas seule à
rencontrer ce problème :

http://www.outlookcode.com/d/code/getsenderaddy.htm

http://www.dimastr.com/redemption/

Tu y trouveras peut être une solution, ou un contournement.

--
Cordialement,

Jacques.
Avatar
Sophy
OK, en tout cas merci pour ton aide !
Je vais poster une autre question à propos d'outlook. Peut-être t'y
reverrai-je ?
:-)

"Jacques93" a écrit :

Bonjour Sophy,
Sophy a écrit :
> Et bien non, les contacts dont il s'agit ne font partie ni de mes contacts,
> ni du carnet d'adresses ! C'est leur fournisseur, je pense, qui formate leur
> adresse de cette façon (ex : "Sophie GRAIGNIC
> [mailto:]")

Exact, j'aurais du regarder dans ma boite avant de répondre :-(
Pas d'autres idées pour le moment, mais apparement tu n'es pas seule à
rencontrer ce problème :

http://www.outlookcode.com/d/code/getsenderaddy.htm

http://www.dimastr.com/redemption/

Tu y trouveras peut être une solution, ou un contournement.

--
Cordialement,

Jacques.



Avatar
Sophy
Le lien que tu m'as fourni a résolu mon problème.
Merci Jacques et bonne fin de journée !

"Jacques93" a écrit :

Bonjour Sophy,
Sophy a écrit :
> Et bien non, les contacts dont il s'agit ne font partie ni de mes contacts,
> ni du carnet d'adresses ! C'est leur fournisseur, je pense, qui formate leur
> adresse de cette façon (ex : "Sophie GRAIGNIC
> [mailto:]")

Exact, j'aurais du regarder dans ma boite avant de répondre :-(
Pas d'autres idées pour le moment, mais apparement tu n'es pas seule à
rencontrer ce problème :

http://www.outlookcode.com/d/code/getsenderaddy.htm

http://www.dimastr.com/redemption/

Tu y trouveras peut être une solution, ou un contournement.

--
Cordialement,

Jacques.



Avatar
Jacques93
Sophy a écrit :
Le lien que tu m'as fourni a résolu mon problème.
Merci Jacques et bonne fin de journée !




Merci du retour :-)

--
Cordialement,

Jacques.