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

Récupérer tous les noms de fichiers d'un répertoire

  • Initiateur de la discussion Initiateur de la discussion Fab117
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Fab117

XLDnaute Impliqué
Salut,
Je souhaiterais créer une macro qui récupère tous les noms de fichiers avec leurs extensions se trouvant dans un répertoire (C:\Tmp) et qui les inscrivent dans une colonne (en "A1" premier nom de fichier, en "A2" deuxième nom, ...).
Quelqu'un pourrait-il me donner un coup de main ?
Merci d'avance.

Fab
 
Re : Récupérer tous les noms de fichiers d'un répertoire

Bonjour Fab,

essaye le code ci-dessous :

Code:
Sub ListeFichiersRepert()
'activer la reference Microsoft scripting Runtime
Dim fso As Scripting.FileSystemObject
Dim MonRepertoire As String, f As File, x As Integer
Set fso = CreateObject("Scripting.FileSystemObject")
MonRepertoire = "C:\Temp\"
x = 1
For Each f In fso.GetFolder(MonRepertoire).Files
    Cells(x, 1).Value = f.Name
    x = x + 1
Next f
End Sub

bonne journée
@+
 
Re : Récupérer tous les noms de fichiers d'un répertoire

Salut,
Merci pour cette réponse rapide.
Il plante sur la ligne "fso As Scripting.FileSystemObject".
As-tu une solution stp ?

J'ai Excel 2002 SP3 en Anglais

Fab
 
Dernière édition:
Re : Récupérer tous les noms de fichiers d'un répertoire

Salut Kiki29 et le Forum

Tu peux tester cela selon ta demande (répertoire c:\Temp).
J'avais surement récupèré ce code sur le Forum. 😀

Sub TheSearcher()
Dim ThisBookPath As String, TabFilePathName() As Variant
Dim FileSearcher As FileSearch
Dim ThePath As String
Dim i As Integer

Set FileSearcher = Application.FileSearch
ThisBookPath = ThisWorkbook.Path
ThePath = ThisBookPath

With FileSearcher
.NewSearch
.Filename = "*.xls*"
.LookIn = "C:\temp"
.SearchSubFolders = True
.Execute msoSortByFileName, msoSortOrderAscending
If .Execute > 0 Then
With .FoundFiles
For i = 1 To .Count
ReDim Preserve TabFilePathName(2, 0 To .Count - 1)
TabFilePathName(0, i - 1) = .Item(i)
TabFilePathName(1, i - 1) = Dir(.Item(i))
Next i
End With
Else
MsgBox "Pas de Fichier trouvé dans " & ThePath
Exit Sub
End If
End With
Set FileSearcher = Nothing

Range("A2").Resize(UBound(TabFilePathName, 2) + 1, UBound(TabFilePathName, 1)) = Application.Transpose(TabFilePathName)
End Sub
 
Re : Récupérer tous les noms de fichiers d'un répertoire

Re Fab, bonjour Risleure, Kiki

je reviens sur mon code, concernant l'erreur que tu avais, as tu bien coché la reference "Microsoft scripting Runtime", dans l'éditeur vba => outils => références, comme indiqué en commentaire (2ème ligne du code).

bon après midi.
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
109
Réponses
3
Affichages
483
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…