Bonjour,

j'ai developpé une premiere application en VBA pour, à partir d'Excel, envoyer un mail à une personne en particulier avec des informations qu'un autre utilisateur rentre manuellement, le sujet du mail (Topic) est composé des variables rentrées par l'utilisateur. La personne qui reçoit le mail, grâce à une regle Outlook, les recevra dans un meme dossier Outlook pre-defini, nommé "Tracker" (Chemin: "Boite de reception" => "Traker").

Le but de la nouvelle macro Excel (et non sur Outlook!) à creer: lorsque la personne qui reçoit les mails clique sur un bouton par exemple, la macro va dans le dossier "Tracker" et passe en revu les mails un par un, et récupère les données cibles (topic du mail, cf. ci-apres), et les met dans une Feuille Excel.

Le sujet du mail pre-formaté reçu (grace à la premiere macro que j'ai crée, est du type "Tracking modifications - SA / RC / GLO - 45895 / To Pre - stress ") et grace à ce formattage type, cela me permettrait de récuperer toujours les mêmes données (ici en rouge) ; ces données etant variables).

Comment faire pour recuperer et stocker dans Excel les sujets de chaque mail contenu dans le meme dossier, et une fois recupérés dans une feuille Excel, comment les mettre dans un autre dossier Outlook (genre "Tracker-Archives") ?


Merci par avance,

PS : j'ai déjà trouvé des codes pour essayer de faire cela, mais j'ai l'erreur suivante qui apparait: "Compile error:
User-defined type not defined" pour la ligne 11 du code ci-dessous



Voici le code sur lequel je compte me baser pour extraire des infos: (après je me debrouille pour le traitement des données, je veux juste savoir comment les extraire au final sans qu'il y ait l'erreur précédente)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Sub InfoSelection()
 
'Déclaration des Objets et variables
    Dim MonApply As Outlook.Application
    Dim MonMail As Outlook.mailitem
    Dim MonNSpace As Outlook.Namespace
    Dim FldDossier As Outlook.Folder
    Dim strInfos As String
 
    'Instance des Objets
    Set MonApply = Outlook.Application    'Application Outlook
    Set MonNSpace = MonApply.GetNamespace("MAPI")    'Banque MAPI
    Set FldDossier = MonNSpace.GetDefaultFolder(olFolderInbox)    'Dossier boîte de réception
    'Initialisation de la chaîne de caractères
    strInfos = ""
    'Boucle afin de parcourir l'ensemble des E-mails présents dans le dossier Boîte de réception
    For i = 1 To FldDossier.Items.Count
        'instancie le mail suivant la valeur de la boucle
        Set MonMail = FldDossier.Items(i)
        'Test sur le sujet si égale à Invitation
        If MonMail.Subject = "Tracking modifications - SA / RC / GLO - 45895 / To Pre - stress" Then
            'Récupère les diverses informations du Mail ayant pour sujet "Tracking modifications - SA / RC / GLO - 45895 / To Pre - stress"
            With MonMail
                strInfos = "Expéditeur : " & .SenderEmailAddress
                strInfos = strInfos & vbCr & "Destinataire(s) : " & .To
                strInfos = strInfos & vbCr & "Date de réception : " & .ReceivedTime
            End With
            'Affichage du résultat
            MsgBox strInfos
        End If
    Next i
 
    'Vide des instances
    Set MonApply = Nothing
    Set MonNSpace = Nothing
    Set FldDossier = Nothing
    Set MonMail = Nothing
 
 
 
End Sub