Bonjour à tous,

Je rencontre un petit désagrément dans un code récupéré ici même... Ce code permet d'instancier un objet Outlook, de parcourrir une boite mail et de faire des traitements sur les objets de type "Outlook.MailItem".

Jusqu'ici tout va bien, ma classe permet de récupérer les emails d'une boite dans un DataSet, rien de bien compliqué. En revanche... lorsque la boite traitée contient une quantité importante d'email (> 150) il faut un certains temps pour que mon "For Each" parcours tout les items...

Vous comprendrez que parcourrir une boite mail qui contient beaucoup d'email cela devient trés trés trés ennuyeux...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
// j'ai précédement récupéré le boite mail sélectionnée
Outlook.Items oItems = _oInbox.Items;
 
// Récupère le nombre total d'objets dans la boite;
Int32 i32TotalItems = oItems.Count;
 
// Parcours des items
                for (Int32 i32Idx = 1; i32Idx <= i32TotalItems; i32Idx++)
                {
                    // Traitement du type : remplir un DataSet avec sujet / adresse / taille...
                }
Pourriez vous me dire s'il existe un autre moyen plus "efficace"? ai je loupé un truc?... parceque pour parcourir 150 emails... 3 ou 4 secondes c'est à mon goût un peu long, surtout qu'il n'y a aucun traitement! juste la lecture des Outlook.MailItem...

Merci à tous!