Lister automatiquement des feuilles Excel

  • Initiateur de la discussion Initiateur de la discussion Riri
  • 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 !

R

Riri

Guest
Bonsoir le Forum,

Je voudrais savoir si il est possible de lister automatiquement via un code VBA tous les fichiers contenus dans un dossier.
Je voudrais les lister dans une feuille Excel.

Merci d’avance pour vos réponses …….Riri
 
bonjour Riri , bonjour Chris

pour completer la reponse de Chris , ci joint un exemple

Sub RecupererListeFichiersDansRepertoire()
Dim X As Integer, nbFichiers As Integer
Dim Tableau() As String
Dim Direction As String

Direction = Dir("C:\reperetoire\*.xls") 'adapter chemin
'Direction = Dir("C:\repertoire\*.*") 'pour recuperer tous les types de fichiers

Do While Len(Direction) > 0
nbFichiers = nbFichiers + 1
ReDim Preserve Tableau(1 To nbFichiers)
Tableau(nbFichiers) = Direction
Direction = Dir()
Loop

If nbFichiers > 0 Then

MsgBox "il y a " & nbFichiers & " fichiers dans le repertoire . "
'pour afficher tous les noms de fichiers
For X = 1 To nbFichiers
Cells(X, 1) = Tableau(X)
Next X
End If

End Sub


bonne soiree
michel
 
j'aurais une question à propos de ce post...

c'est vraiment sympa cette macro mais serait-il possible quand on à la liste des fichiers dans la table excel d'avoir dans la colonne b les valeurs de la cellule A1 de la feuille1 de chaque fichier excel ???????? et d'autres cellules aussi ?
 
bonsoir Deguste

la macro ci dessous liste tous les classseurs d'un repertoire dans la colonne A
dans la colonne B sont insérés les valeurs de la cellule A1 , de chaque classeur

Option Explicit
Dim X As Integer
Sub RecupererListeFichiersDansRepertoire()
Dim nbFichiers As Integer
Dim Tableau() As String, Cible As String , Valeur As String
Dim Direction As String

Direction = Dir("C:\Repertoire\*.xls") 'adapter chemin

Do While Len(Direction) > 0
nbFichiers = nbFichiers + 1
ReDim Preserve Tableau(1 To nbFichiers)
Tableau(nbFichiers) = Direction
Direction = Dir()
Loop

If nbFichiers > 0 Then

MsgBox "il y a " & nbFichiers & " fichiers dans le repertoire . "
'pour afficher tous les noms de fichiers
For X = 1 To nbFichiers
Cells(X, 1) = Tableau(X)

Valeur = "C:\Repertoire\" & Tableau(X)
Cible = Cells(1, 1).Address(0, 0) & ":" & Cells(1, 1).Address(0, 0) 'plage des valeurs à recuperer
VaChercherMonLycos Valeur, Cible
'adapter chemin du fichier contenant les valeurs à recuperer

Next X
End If
End Sub

Public Sub VaChercherMonLycos(Fichier As String, Plage As String)
Dim dbConnection As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim dbConnectionString As String

dbConnectionString = "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;" & "DBQ=" & Fichier
Set dbConnection = New ADODB.Connection

dbConnection.Open dbConnectionString

Set Rs = dbConnection.Execute("[" & Plage & "]")
Range("B" & X) = Rs.Fields(0).Name
Range("B" & X).CopyFromRecordset Rs

Rs.Close
dbConnection.Close
Set Rs = Nothing
Set dbConnection = Nothing
End Sub

necessite d'activer les references
Visual Basic For Applications
Microsoft Excel xx Object Library
OLE Automation
Microsoft Office xx Object Library
Microsoft ActiveX Data Objects 2.7 Library
Microsoft Forms 2.0 Object Library


bonne soiree
michel
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
138
Réponses
5
Affichages
327
  • Question Question
XL 2019 B
Réponses
10
Affichages
417
Retour