Lister les fichiers contenues dans un dossier et ses sous-dossiers

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 486 fois - Téléchargée 34 fois

Contenu du snippet

À l'aide de DriveListBox, DirListBox et FileListBox, ce code affiche dans un debug tous les fichiers contenues dans le dossier sélectionné (En appuyant sur le bouton) et ses sous-dossiers

Source / Exemple :


Private Sub Command1_Click()
    lireDossier Dir1.Path ' Appel de la commande pour lister les fichiers
End Sub
Private Sub Dir1_Change()
File1.Path = Dir1.Path ' Affiche le contenue du dossier sélectionné
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive ' Le dossier devient le lecteur sélectionné
End Sub
Private Function lireDossier(dossier As String)
    Dim dossierPrecedent As String
    Dim i As Integer
    Dim j As Integer
    
    dossierPrecedent = CStr(Dir1.Path) ' Sauvegarde le dossier précédent
    Dir1.Path = dossier ' Se place dans le dossier à lire
    For i = 0 To (Dir1.ListCount - 1) ' Pour chaque dossier présent
        File1.Path = Dir1.List(i) ' Place le path dans le FileList
        For j = 0 To (File1.ListCount - 1) ' Pour chaque fichier du FileList
            Debug.Print File1.List(j) ' L'affiche dans debug
        Next j
        lireDossier CStr(Dir1.List(i)) ' Affiche le contenue du dossier sélectionné
    Next i
    Dir1.Path = dossierPrecedent ' Se replace au dossier précédent
End Function

A voir également

Ajouter un commentaire

Commentaires

Renfield
Messages postés
17283
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
56 -
ça va bien, et toi ?

soyons sérieux ! Ce n'est pas un chat ici, et encore moins le Forum.
si tu veux poser une question, c'est là bas que ca se passe !!!
http://www.vbfrance.com/infomsg.aspx?ajout=1
cs_malako
Messages postés
3
Date d'inscription
mardi 13 mars 2007
Statut
Membre
Dernière intervention
14 mars 2007
-
cmt va=, dite moi y a qq 1 qui sait comment on ouvre le fichier pour le lire?
mrtrampo
Messages postés
7
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
2 novembre 2004
-
ok merci
je n'arrivais pas à trouver dans les api une fonction qui faisait ça pour les dossiers

il y a findfirstfile pour les fichiers je crois
on trouve les suivants avec findnext ou un truc comme ça...

en tout cas encore merci
alex
At0mIc
Messages postés
7
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
24 novembre 2006
-
Non, mais pense à ajouter un:
Dir(dossier,type)
Le type de fichier peut être:
- 0 Normal
- 1 Lecture seule
- 2 Fichier caché
- 4 Fichier système
- 8 Nom de volume ; si cette valeur est indiquée, le répertoire est ignoré
- 16 Répertoire
- 32 Archive

Cela te retourne le premier trouver. Utilise ensuite "Dir" pour avoir les suivants.
mrtrampo
Messages postés
7
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
2 novembre 2004
-
il y a quelques temps déjà j'ai fait un programme de recherche comme windows en utilisant la même technique (il n'affiche pas les icônes mais est quand même 4x plus rapide)
J'ai un problème: mon prog ne voit pas les dossiers cachés et leurs sous dossiers (dans les DirListBox il n'y a pas de filtres comme pour FileListBox)

Ton prog voit-il les dossiers et sous-dossiers cachés?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.