bonjour
tu peux tester cette macro qui affiche dans la feuille tous les messages reçus , de l'expediteur nommé "mon contact" ( tous les dossiers personnels Outlook sont parcourus )
j'espere que cela pourra t'aider
necessite d'activer la reference Microsoft Outlook xx.xx Object Library
dans Visual Basic Editor (Alt + F11)
menu Outils
References
Coches la ligne "Microsoft Outlook xx.xx Object Library"
cliques sur OK pour valider
Option Compare Text
Dim Dossier As Outlook.MAPIFolder
Dim j As Integer
Sub recuperationMails_Filtre_Expediteur()
'nécéssite d'activer la reference Microsoft Outlook xx.xx Object Library
Dim Ol As New Outlook.Application
Dim Ns As Outlook.NameSpace
Dim Dossier1 As Outlook.MAPIFolder
Set Ns = Ol.GetNamespace("MAPI")
Set Dossier = Ns.Folders(1)
Set Dossier1 = Dossier
SearchFolders Dossier1, ""
End Sub
Private Sub SearchFolders(ByVal Fld As Outlook.MAPIFolder, sFindFolder As String)
Dim i As Integer
Dim Dossier1 As Outlook.MAPIFolder
Dim OLmail As Outlook.MailItem
On Error Resume Next
If Fld.Folders.Count > 0 Then
Do Until i = Fld.Folders.Count
i = i + 1
Set Dossier1 = Fld.Folders(i)
If Dossier1.DefaultItemType = 0 Then
For Each OLmail In Dossier1.Items
If OLmail.SenderName = "mon contact" Then 'emplacement pour filtrer les expediteurs
j = j + 1
Feuil1.Cells(j, 1) = Application.WorksheetFunction.Substitute(OLmail.Body, vbCr, "")
Feuil1.Cells(j, 2) = OLmail.ReceivedTime
Feuil1.Cells(j, 3) = Dossier1.Name
End If
Next
End If
If Dossier1.Folders.Count > 0 Then SearchFolders Dossier1, sFindFolder
Loop
End If
End Sub
bonne soiree
MichelXld