Bonjour à tous.

Il y a un phénomène que j'ai du mal à m'expliquer dans mon code. Mais posons les bases de suite :
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
 
Private Sub Lancer_Click() 
'lancement de l'objet Outlook pour trouver les mails à gérer
  Dim outlookApp As New Outlook.Application
  Dim olNs As Outlook.NameSpace
  Dim Fldr, FldrError, FldrTraite As Outlook.MAPIFolder
  Dim olMail As MailItem
'Préparation des répertoires dans OutLook
  Set olNs = outlookApp.GetNamespace("MAPI")
  Set Fldr = olNs.Folders.GetFirst
  Set FldrError = Fldr.Folders("EVENTError")
  Set FldrTraite = Fldr.Folders("EVENTTraite")
  Set Fldr = Fldr.Folders("EVENT")
  Set myitems = Fldr.Items
 
 Dim SaisieTag As Integer
 MsgBox myitems.Count
 For Each olMail In myitems
 
'ICI je fais des traitments pour trouver des données dans le corps des mails.
'ma variable SaisieTag me permet de gérer des "erreurs" selon mes traitements avec parfois un "GoTo suivant"
 
suivant:
    If SaisieTag = 1 Then
        olMail.Move FldrError
    Else
        olMail.Move FldrTraite
    End If
 
Next
 
 MsgBox "Fin de traitement"
 
End Sub
Ce que je ne comprends pas c'est pourquoi il ne me lit pas tous les mails dans le folder de base ?
Il ne m'en lit que la moitié. Sur ma base de test j'ai 147 mails et il ne m'en traite que 73, il m'en reste donc 74 dans le folder. Mais si je relance, il ne m'en traite que 37 et ainsi de suite sur des lancements successifs, toujours la moité

Est ce que par hazard j'oublierais un truc, du genre le recaler sur le bon folder après le move ?

MErci pour votre aide.