[VBA Excel] Liste les dossier d'un répertoire
Résolu/Fermé
ben13.51
Messages postés
112
Date d'inscription
mercredi 18 mars 2009
Statut
Membre
Dernière intervention
11 janvier 2012
-
Modifié par ben13.51 le 14/06/2010 à 09:51
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 4 oct. 2010 à 13:08
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 4 oct. 2010 à 13:08
A voir également:
- Vba lister les fichiers d'un dossier et sous dossier
- Dossier appdata - Guide
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
- Mettre un mot de passe sur un dossier - Guide
- Impossible de supprimer un dossier - Guide
- Dossier démarrage - Guide
2 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
Modifié par Polux31 le 14/06/2010 à 10:24
Modifié par Polux31 le 14/06/2010 à 10:24
Bonjour,
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Option Explicit Private oCollec As Collection Public Sub Macro1() Dim chemin As String chemin = InputBox("Entrez le chemin du répertoire", "Répertoire") Set oCollec = New Collection SearchAllFilesInFolders (chemin) AfficheListe Set oCollec = Nothing End Sub Private Sub SearchAllFilesInFolders(ByVal chemin As String) Dim fso As FileSystemObject Dim dossier As Folder Set fso = New FileSystemObject Set dossier = fso.GetFolder(chemin) Call scanFolder(dossier) End Sub Private Sub scanFolder(ByVal dossier As Folder) Dim sousdossier As Folder Dim fichier As File For Each fichier In dossier.Files oCollec.Add fichier Next For Each sousdossier In dossier.SubFolders Call scanFolder(sousdossier) Next End Sub Private Sub AfficheListe() Dim i As Long Dim lig As Long Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets(1) lig = 2 With ws For i = 1 To oCollec.Count .Range("A" & lig).Value = oCollec(i) lig = lig + 1 Next i End With End Sub
;o)
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
14 juin 2010 à 12:12
Cependant lors du premier essai j'ai un message d'erreur au niveau de la Private Sub ScanFolder.
Il semble que le Type de variable "as Folder" ne soit pas reconnu car j'ai le message suivant :
Erreur de compilation : Type défini par l'utilisateur non défini.
Que dois-je faire pour corriger ce problème...
Encore merci pour votre aide
Cordialement
Ben
14 juin 2010 à 13:03
;o)
14 juin 2010 à 14:29
Effectivement ça change tout.
Et j'ai pu faire ce que je voulais.
Merci pour le temps que vous m'avez consacré!
Cordialement
Ben
4 oct. 2010 à 12:40
J'arrête pas de bugger sur la commande:
oCollec.Add fichier
avec pour message : erreur d'éxécution 424, objet requis.
Pouvez vous m'aider ?
merci
4 oct. 2010 à 13:08
Colle ton code ici que l'on puisse voir.
Parce que juste avec ça, on ne peut rien dire.