Bonjour à tous,
clairement je galère, je suis en train de créer une macro sous excel qui va récupérer des fichiers xml reçus en PJ de mail.
lorsque j’exécute cette macro tout va bien:
Code :
- Sub test()
- Application.Calculation = xlManual
- Application.ScreenUpdating = False
- Dim myOlApp As Outlook.Application
- Dim myNameSpace As Object
- Dim myInbox As Object
- Dim DossierSource As Object
- Dim DossierTraite As Object
- Dim myItem As Object, myAttachments As Object
- Dim RepSauv As String
- Dim ExtFich As String
- Set myOlApp = CreateObject("Outlook.Application" )
- Set myNameSpace = myOlApp.GetNamespace("MAPI" )
- Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
- Set DossierSource = myInbox.Folders("XML" )
- Set DossierTraite = myInbox.Folders("XML" ).Folders("Traités" )
- RepSauv = "C:\XML\test\"
- For Each myItem In DossierSource.Items
- Set myAttachments = myItem.Attachments
- If myAttachments.Count > 0 Then
- 'for all attachments do...
- For i = 1 To myAttachments.Count
- ExtFich = Mid(myAttachments(i), InStrRev(myAttachments(i), "." ) + 1)
- If ExtFich = "xml" Then
- 'save them to destination
- myAttachments(i).SaveAsFile RepSauv & myAttachments(i).DisplayName
- End If
- Next i
- End If
- 'Set myItem = myItem.Move(DossierTraite) (Ignorée car me pose Pb)
- Next
- Application.Calculation = xlAutomatic
- End Sub
|
il récupère bien que les XML des mails dans le répertoire défini.
Par contre dès que j'active cette ligne dans mon code pour déplacer le mail traité dans le sous répertoire "traités":
Code :
- Set myItem = myItem.Move(DossierTraite)
|
A chaque fois il me zappe un mail, il ne le traite pas du tout, comme s'il n'existait pas, et quand je relance à nouveau la macro là il le traite.
Je ne comprends pas pourquoi?!? Et c'est systématiquement le dernier mail de la liste qu'il ne traite pas.
Help me
Message édité par wago le 20-06-2017 à 12:21:56