Bonjour Romain,
c'est très bien de chercher et de trouver des solutions sois même.
Par contre tu as sans doute une erreur là:
Set objSourceFolder = currentExplorer.CurrentFolder
où là
Set objDestFolder = objSourceFolder.Folders(strnomdedossier)
Je m'explique, en partant du dossier en cours et tu vas classer dans un sous dossier de celui-ci.
donc à moins de ne lancer la macro que du même dossier tu auras plein de sous dossiers correspondant à tes expéditeurs.
tu devrais changer ainsi, à moins que je n'ai pas compris la finalité
Set objDestFolder = objNamespace.GetDefaultFolder(olFolderInbox).Folders(strnomdedossier)
pour obj.SenderEmailAddress cela dépend de
.SenderEmailType : "EX" : String
si c'est EX c'est effectivement une adresse EXCHANGE
et je ne suis pas sûr que l'absence d'arobase signifie que c'est ton domaine !??
Avec cela tu devrais obtenir tes éléments Service/fonction et ta confirmation que c'est bien une personne de ton domaine.
1 2 3 4 5 6 7 8 9 10
| Sub test_sender_exchange()
Set OITEM = ActiveInspector.CurrentItem 'désigne l'élément actif càd le mail le contact ou rdv...
Dim oEU As Outlook.ExchangeUser
Set oEU = OITEM.Sender.GetExchangeUser
MsgBox oEU.PrimarySmtpAddress
MsgBox oEU.Department
oEU.Details
End Sub |
regarde là pour les propriétés http://msdn.microsoft.com/fr-fr/libr...ffice.15).aspx
et voici pour obtenir l'adresse mail à partir d'un "recipient"
1 2 3 4 5 6 7 8 9 10
| Function GetSMTPAddressForRecipient(recip As Outlook.Recipient) As String
'Dim recip As Outlook.Recipient
Dim pa As Outlook.PropertyAccessor
Const PR_SMTP_ADDRESS As String = _
"http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
Set pa = recip.PropertyAccessor
Debug.Print recip.Name & " SMTP=" _
& pa.GetProperty(PR_SMTP_ADDRESS)
GetSMTPAddressForRecipient = pa.GetProperty(PR_SMTP_ADDRESS)
End Function |
Partager