Bonjour à tous,

Je suis sous Outlook 2003.
J'aimerais via une macro sur Excel 2003 :
- pointer vers OutLook
- Puis balayer les mails de la boite de reception
- Si l'objet du mail = "TEST" et que le mail contient une pièce jointe,
- Alors enregistrer la pièce jointe dans le dossier C:\...

Pour eviter les problèmes de version Outlook, j'ai commencé à utiliser des déclarations tardives :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Sub Extraire()
Dim OlApp As Object
Dim OLmail As Object
Dim pceJointe As Object
Dim x As Integer
Dim y As Integer
 
Set OlApp = CreateObject("Outlook.Application")
Set OLmail = OlApp.CreateItem(0)
Set pceJointe = ILmail.Attachment
Et ensuite j'ai trouvé ceci :
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
If Inbox.DefaultItemType = 0 Then
        For Each OLmail In Inbox.Items
            'If Not OLmail.Attachments.Count = 0 Then
              If Item.Subject = "TEST" Then
                For y = 1 To OLmail.Attachments.Count
                     Set pceJointe = OLmail.Attachments(y)
                        x = x + 1
                        pceJointe.SaveAsFile "C:\extraction\" & x & "_" & pceJointe.Filename
                    Set pceJointe = Nothing
               'End If
                Next y
            End If
        Next OLmail
    Else
        MsgBox (Inbox.DefaultItemType)
    End If
 
End Sub
J'ai donc quelques morceaux de code mais je n'arrive pas à assembler l'ensemble. Ca me donne pas mal d'erreur. Et je n'arrive pas à trop à avancer...

Auriez vous quelques pistes svp ?

Merci d'avance et bonne journée !