Sub a()
Dim t() As String
Const Répertoire = "F:\Téléchargements"
'Liste des fichiers seulement
t = ListeFichiers(Répertoire)
'Liste des fichiers et des sous-répertoires directs
't = ListeFichiers(Répertoire, "")
If Not (Not t) Then
[A1].Resize(UBound(t, 1), 1).Value = WorksheetFunction.Transpose(t)
Else
MsgBox "Aucun fichier dans le répertoire <" & Répertoire & ">"
End If
End Sub
'------------------------
'Fichiers d'un répertoire
'------------------------
Private Function ListeFichiers(ByVal Répertoire As String, Optional ByVal Extension As String = "*") As String()
Dim Fichier As String
Dim TabFichiers() As String
Dim NbFichiers As Long
'Retire le "\" final si présent
If Right(Répertoire, 1) = "\" Then
Répertoire = Left(Répertoire, Len(Répertoire) - 1)
End If
'---liste les fichiers et dossiers directs du répertoire ---
If Len(Extension) > 0 Then
'Seulement les fichiers
Fichier = Dir(Répertoire & "\*." & Extension)
Else
'Tous les fichiers et les sous-répertoires directs
Fichier = Dir(Répertoire & "\", vbDirectory)
End If
'Boucle sur les fichiers
Do While Len(Fichier) > 0
NbFichiers = NbFichiers + 1
ReDim Preserve TabFichiers(1 To NbFichiers)
TabFichiers(NbFichiers) = Fichier
Fichier = Dir
Loop
'Return value
ListeFichiers = TabFichiers
End Function