Bonjour à tous,
Cela fait quelques moments que je bloque.
Comme beaucoup je range mes mails dans des dossiers et j'ai déjà un bout de VBA qui les range suivant des critères, donc je sais le faire, cependant il y a une phase transitoire ou je travail dessus, par exemple, une réponse envoyée peut etre déplacée dans un dossier (URGENT, A SUIVRE, A RANGER ) ou bien parfois avant de traiter le mail je le place dans l'un de ces dossiers. Cela fait que les conversation peuvent etre splitées entre, inbox, urgent, a suivre, et dossier de rangement. Le pire surtout est quand un mail est dans A SUIVRE ou URGENT et que je réponds et traite le sujet, la réponse est placée dans A RANGER (cela fonctionne trés bien), mais uniquement la réponse, donc la conversation est splitée et tant que non rangée continue de polluer les 2 autres dossier. Pour arrange cela je souhaite quand je lance un tri que les mails se déplacent dans le dossier du dernier mail reçu de la conversation.
Voici la partie de l'algorthme sur laquelle je bloque.
Dans un dossier (mettons inbox), pour chaque mail, indentifier quel est le dernier mail reçu dans sa conversation, puis déplacer toute la conversation dans le dossier ou se trouve le dernier mail.
Je sais accéder aux conversation d'un mailitem mais ce n'est pas pratique et je n'ai l'impression que le oulook.conversation ne voit bien tous les mails.
J'avais essayé de remonter au premier mail avec une boucle du type
Mais sans succès.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 While (Not MailConv.GetConversation.GetParent(MailConv) Is Nothing) Set MailConv = MailConv.GetConversation.GetParent(MailConv) Set DossDest = MailConv.Parent Wend Set DossDest = MailConv.Parent For Each MailConv In Conv.GetRootItems If TypeOf MailConv Is Outlook.MailItem Then MailConv.Move DossDest End If Next
j'ai aussi vue que certains utilisaient des headers, mais je ne sais pas le faire.
Je m'en remet donc à votre grand savoir pour aider à ranger mes mails et augmenter ma productivité
Merci
Thibaut
Partager