Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Lister un dossier comportant des sous-dossiers

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

Je voudrais, comme le titre l'indique, lister un dossier comportant des sous-dossiers.
Supposons que le dossier, dans le disque "G", s'intitule "Musique".
Ses sous-dossiers : "Blues" | "Classic" | "Folk" | "Jazz" | "Tangos Mortels" ...
Mais, par exemple, dans "Jazz" il y a d'autres sous-dossiers : "Guitare" | "Piano" | "Saxophone" ...
Et dans "Guitare" : "Emily Remler" | "Grant Green" | "Joe Pass" | "Wes Montgomery" ...

Pour récupérer tous les noms de fichiers d'un dossier unique, j'ai trouvé :
VB:
Sub Listage()

    Dim Dossier$, Fichier$, i%
  
    Dossier = "G:\iPod\"  'il n'y a ici qu'un seul dossier
    Fichier = Dir(Dossier)
    i = 0
    Do While Fichier <> ""
        i = i + 1
        Worksheets(1).Range("A" & i) = Fichier
        Fichier = Dir
    Loop
End Sub
Comment faire pour récupérer aussi la totalité des contenus de tous les sous-dossiers ?
 

Dudu2

XLDnaute Barbatruc
Bonjour @Magic_Doctor,

Je comprends pas bien ce que tu veux.
- Lister les fichiers d'un dossier
- Lister les sous-dossiers d'un dossier
- Lister les fichiers & les sous-dossiers d'un dossier
- Lister les fichiers d'un dossier et de ses sous-dossiers
- Autre ?
 

Magic_Doctor

XLDnaute Barbatruc
Bonjour Dudu2,

Dans le dossier "racine" ("Musique" en l'occurrence) il peut éventuellement y avoir des fichiers. Ce dossier "racine" se subdivise (ce qui est logique) en plusieurs sous-dossiers, chacun étant un genre de musique différent ("Classic", "Pop", "Funk"...), et chaque genre comporte lui-même des sous-dossiers, correspondant chacun à un groupe ou interprète différent. Par exemple dans le genre "Jazz", il y a "Contrebasse", "Piano", "Saxophone"... Dans "Saxophone", il y a "Alto", "Ténor", "Baryton"... Dans "Alto" il y a "Art Pepper", "Charlie Parker", "Julian Connonball Adderley"...
Le but, c'est de tout récupérer depuis la racine jusqu'au dernier sous-dossier ou "sous-sous-dossier".
 

Efgé

XLDnaute Barbatruc
Bonjour à tous
Peut-être une solution de Roland M

Cordialement
 

Dudu2

XLDnaute Barbatruc
Ou en VBA comme dans cet exemple. Le code permet optionnellement de récupérer dates et tailles des fichiers.
 

Pièces jointes

  • ListerLesFichiers.xlsm
    44.1 KB · Affichages: 44

Staple1600

XLDnaute Barbatruc
Bonsoir Dudu2

Oui, mais j'aime de temps en temps faire un tour dans l'invite de commande

On pourrait aussi faire du PowerShell
(D'ailleurs il y a fil où j'ai du posté un script qui fait cela)
Le voilou

D'ailleurs tu as du participer à ce fil avec patricktoulon, non ?
 

Magic_Doctor

XLDnaute Barbatruc
Bonjour à tous,

En fait ce que je désire est plus simple : obtenir la liste et uniquement la liste (ni lien, ni adresse... du texte, c'est tout !) de tous les fichiers contenus dans un dossier et tous ses sous-dossiers.
J'ai pris comme exemple la musique, mais ç'aurait pu être des pdf, des images... bref, n'importe quoi.
Je viens de voir le fichier de Roland M, quel boulot ! Une vraie perle !

J'en profite, pour les amateurs de musique, pour joindre cette minuscule application que j'utilise depuis au moins une bonne quinzaine d'années. Il suffit de la mettre dans un dossier musical et, instantanément, elle dresse une liste aléatoire de tous les morceaux de musique contenus dans un dossier et ses sous-dossiers, et on n'a plus qu'à écouter ! À partager sans modération.
 

Pièces jointes

  • OneClickPlay.zip
    7.3 KB · Affichages: 26
Dernière édition:

Magic_Doctor

XLDnaute Barbatruc
Re,

Dans mon 1er post, je donne une solution simple et rapide pour extraire tous les noms de fichiers d'un dossier unique, mais si ce dossier comporte des sous-dossiers, là je ne sais plus faire. Peut-être au travers d'une boucle qui passerait en revue tous les éventuels sous-dossiers.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…