Bonjour le forum,
Certains utilisateurs d'Outlook ont une arborescence de leurs dossiers assez complexe ... et donc se perdent parfois ! Donc, pour leur faciliter la vie, j'ai créé un bout de macro qui exporte cette arborescence dans un fichier texte.
Petit souci, cette exportation ne respecte pas l'arborescence réelle
Arbo réelle _____________________ Arbo extraite
0 - Interne _____________________ 0 - Interne
--Envoi _____________________ --Reçu
----Direction _____________________ ----Direction
--Reçu _____________________ ----Congés
----Direction _____________________ --Envoi
----Congés _____________________ ----Direction
Je trouve bien mes dossiers et sous-dossiers....mais pas dans l'ordre ! Voici la procédure qui fait le job :
Si quelqu'un a une petite idée de comment dire à VBA de respecter l'ordre dans lequel sont les dossiers et sous-dossiers, je suis preneur !
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 Private Sub Boucle_Dossiers(Dossiers As Outlook.Folders) Dim MF As Outlook.MAPIFolder For Each MF In Dossiers If InStr(MF.Name, "Contacts") <> 0 Then GoTo fin Ecrit_Fichier (Nom_Dossier(MF.FolderPath, MF.Name)) Boucle_Dossiers MF.Folders Next fin: End Sub ' Private Sub Ecrit_Fichier(OLNom_Dossier As String) fnum = FreeFile() Open Fichier For Append As #fnum Print #fnum, OLNom_Dossier Close #fnum End Sub ' Private Function Nom_Dossier(OLChemin_Dossier As String, OLNom_Dossier As String) As String If Structure = False Then Nom_Dossier = Mid(OLChemin_Dossier, 3) Else Dim i As Integer i = Len(OLChemin_Dossier) - Len(Replace(OLChemin_Dossier, "\", "")) Dim x As Integer Dim OLPrefixe As String For x = Base To i OLPrefixe = OLPrefixe & "-- " Next Nom_Dossier = OLPrefixe & OLNom_Dossier End If End Function
Merci d'avance,
ThierryP
Partager