Bonjour
en VBA je ne sais pas faire mais avec Power Query c'est très facile avec la fonction Folder.Contents
A partir d'un paramètre nommé "Dossier" le code suivant vous donne la liste des sous-dossiers
Table.SelectRows(Folder.Contents(Dossier),each _[Attributes][Directory])
Folder.Contents renvoie la liste des dossiers et des fichiers, le Table.SelectRows (... each _[Attributes][Directory]) filtre alors uniquement sur les dossiers
il faut ensuite sélectionner "le plus récent" (choix dans la liste des filtres qui va générer automatiquement le code let latest = List.Max(Source[Date created]) in each [Date created] = latest)
clic droit sur la requête pour transformer la requête en fonction
1 2 3 4 5 6 7 8 9
| let
Source = (Dossier as text) => let
Source = Table.SelectRows(Folder.Contents(Dossier),each _[Attributes][Directory]),
#"Lignes filtrées1" = Table.SelectRows(Source, let latest = List.Max(Source[Date created]) in each [Date created] = latest),
#"Autres colonnes supprimées" = Table.SelectColumns(#"Lignes filtrées1",{"Name", "Date created"})
in
#"Autres colonnes supprimées"
in
Source |
Il ne reste plus qu'à appliquer cette fonction à la liste de dossiers pour obtenir le résultat souhaité
A dispo pour plus de précision au besoin.
Stéphane
Partager