Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lister les fichiers et dossiers d'un répertoire

2 réponses
Avatar
Alain
Bonjour,

Nouveau soucis : Je cherche en VBA à lister et récupérer les dossiers et les
fichiers d'un répertoire donné. Par exemple, si je saisis "c:\repertoire",
j'aimerais que s'affichent
c:\repertoire\sous_répertoire1
...
c:\repertoire\sous_répertoireN
c:\repertoire\fichier1.xxx
...
c:\repertoire\fichierN.xxx

J'ai déjà fait cela sous Access, mais ne sais par effectuer cela dans Excel
que je redécouvre ...

Merci aux spécialistes qui me donneront leur concours

2 réponses

Avatar
Albator V
A adapter biensur:

Sub Liste()
Dim Directory As String
Dim r, i As Integer
Dim StartDate As Single

Directory = "C:toto"

On Error Resume Next
With Application.FileSearch
.NewSearch
.LookIn = Directory
.Filename = "*.*"
.SearchSubFolders = True
.Execute
For i = 1 To .FoundFiles.Count
If FileDateTime(.FoundFiles(i)) > StartDate Then
Cells(r, 1) = .FoundFiles(i)
r = r + 1
End If
Next i
End With


End Sub


Bonjour,

Nouveau soucis : Je cherche en VBA à lister et récupérer les dossiers et les
fichiers d'un répertoire donné. Par exemple, si je saisis "c:repertoire",
j'aimerais que s'affichent
c:repertoiresous_répertoire1
...
c:repertoiresous_répertoireN
c:repertoirefichier1.xxx
...
c:repertoirefichierN.xxx

J'ai déjà fait cela sous Access, mais ne sais par effectuer cela dans Excel
que je redécouvre ...

Merci aux spécialistes qui me donneront leur concours


Avatar
Alain
Merci une fois de plus,

J'ai une petite interrogation quand même : Il me semble que la procédure ne
liste que les fichiers (cf *.*) - Je teste celà sans tarder et reviendrai
peut-être vers vous.

Au fait : Chouette forum ! Et Chouettes contributeurs !

@ +

Sub Liste()
Dim Directory As String
Dim r, i As Integer
Dim StartDate As Single

Directory = "C:toto"

On Error Resume Next
With Application.FileSearch
.NewSearch
.LookIn = Directory
.Filename = "*.*"
.SearchSubFolders = True
.Execute
For i = 1 To .FoundFiles.Count
If FileDateTime(.FoundFiles(i)) > StartDate Then
Cells(r, 1) = .FoundFiles(i)
r = r + 1
End If
Next i
End With


End Sub