Récupération mess. Outlook

M

magoo

Guest
Bonjour,

Dans une base de données excel que j'ai réalisée, je souhaite afficher pour mon contact en cours tous les mails le concernant et ce directement sous excel. Soit par lecture dans un repertoire défini de outlook ou par recherche parmis tous les mails.

Je suis sous xp, excel et outlook 2003

Tout exemple qui concerne la gestion de outlook par excel m'intéresse.

Merci beaucoup
 
M

michel

Guest
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
 
M

magoo

Guest
Merci beaucoup de la rapidité de ta réponse

Microsoft Outlook xx.xx Object Library est activé
J'ai essayé d'intégrer ton code mais je débute en vba et je n'ai pas réussi et j'ai des messages d'erreurs.
Je t'envoie mon test si tu peux regarder.
Merci
 
M

michel

Guest
rebonsoir

ci-joint une modification de ton classeur .
testé avec WinXP et Excel2002
il ne s'agit que d'un exemple et tu auras certainement des adaptations à faire pour ton projet.

remarque :
le champ OLmail.SenderName ( filtre sur le nom de l'expediteur "mon contact") correspond à la colonne "De " dans la boite de réception Outlook


bonne soirée
MichelXld
 

Pièces jointes

  • ExtractionMessages_Filtre_Expediteur.zip
    11.7 KB · Affichages: 216
M

michel

Guest
Re: Récupération mess. Outlook **Demande de test**

bonsoir

je ne sais quoi te dire puisque chez moi cela fonctionne

si une ame charitable du forum est prete à faire d'autres essais

rappel :
le nom de l'expediteur correspondond au champ qui apparait dans la colonne "De " , dans la boite de réception outlook


bonne soiree
MichelXld
 
M

magoo

Guest
Re: Récupération mess. Outlook **Demande de test**

Bonjour à tous,

Michel merci beaucoup de ton aide.
Les autres exemples outlook que tu proposes sur ton wiki fonctionnent celui ci je n'y arrive pas.

Je vais continuer à chercher.

Si quelqu'un d'autre sur le forum à des exemples concernant Outlook je suis intéressé.

Merci, et bonne journée
 
M

myDearFriend

Guest
Bonsoir Magoo, MichelXLD.

Eh bien là, Michel, bravo ! Encore une fois tu nous fournis un morceau de code extra !!
Je te remercie pour tout ce que tu apportes à ce Forum et tout ce que j'apprends ici grâce à toi.

Merci encore.

Didier_mDF
myDearFriend-3.gif
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 082
Membres
103 113
dernier inscrit
jlaussenac