Rechercher un mail dans tout les dosier outlook

bonjour,

je voudrais savoir il est possible de faire un macro excel qui recherche un mail dans tout les dossier et sous dossier outlook pour répondre a un mal avec un sujet précis...

j'ai ce code qui me permet de faire avec le dossier "boite de reeption" mais il ne prend pas en copte les sous dossier ...

le code il est pas de moi je l'ai refistoller avec des bout de code trouve a gauche et a droite.

je vous remerciant d'avance.

voici mon code :

Sub maj_panne()

lst_mails.lst_mails ' la liste mail

Dim objNS As Outlook.Namespace
Dim olFolder As Outlook.MAPIFolder
Dim Item As Object
Dim sj As String
Dim le_mail As Variant
Dim ThisEmail As Outlook.MailItem

Set objNS = GetNamespace("MAPI")
Set olFolder = objNS.GetDefaultFolder(olFolderInbox)
Set le_mail = CreateObject("outlook.application")

'~~~~RECHERCHER LE MAIL
'sj = "Déclaration de panne Sézane du " & Date & " N° de Ticket : " & variables.no_ticket ' le sujet de rechercher
sj = "TR: Amazon" ' le sujet de rechercher

With olFolder
    For i = 1 To .Items.Count
        If TypeOf .Items(i) Is Outlook.MailItem Then
          If .Items(i).Subject = sj Then
            n = i
          End If
        End If
    Next
End With

'~~~~LE CORPS DU MESSAGE

    Set ThisEmail = olFolder.Items(n).ReplyAll
    With olFolder.Items(n).ReplyAll

    End With

'le message est rédiger en HTML il faut donc utiliser des balise HTML pour la mise en page.
'ici la balise <br /> insérer comme du texte agis a la place de chr(10) qui sert a sauter une ligne

MonTexteEnPlus = "Client : structure" & "<br />" & _
                "Emplacement : " & variables.no_table & "<br />" & _
                "Matériel impacter : " & variables.materiel & "<br />" & _
                "La panne : " & variables.panne & "<br />" & _
                "Déclarer par : " & Environ("username") & "<br />" & _
                "Déclarer le : " & Date & " à " & Format(Now, "h\hmm") 'le corps du message

OuCommenceAdresse = InStr(1, ThisEmail.HTMLBody, "<BODY", vbTextCompare)
fin = InStr(OuCommenceAdresse + 5, ThisEmail.HTMLBody, ">") + 1
BaliseBody = Mid(ThisEmail.HTMLBody, OuCommenceAdresse, fin - OuCommenceAdresse)

ThisEmail.HTMLBody = Replace(ThisEmail.HTMLBody, BaliseBody, BaliseBody & MonTexteEnPlus)

ThisEmail.Display

End Sub
Rechercher des sujets similaires à "rechercher mail tout dosier outlook"