Liste de fichiers d'un dossier et ses sous dossiers

Nuage75 Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je dispose d'un code me permettant de lister l'ensemble des fichiers contenus dans un dossier et ses sous dossiers. Cependant, je rencontre quelques difficultés pour le finaliser et obtenir ce que je veux.


Sub list()
Range("A7:C65536").Clear
Range("A7").Select
ListFilesInFolder "D:\Mes Documents\ECOTEC 3eme ANNEE\VBA FM\", True


End Sub


Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As Boolean)
'auteur: scubajon

' lists information about the files in SourceFolder
' example: ListFilesInFolder "C:\FolderName\", True
Dim FSO
Dim SourceFolder
Dim SubFolder
Dim FileItem
Dim r As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = FSO.GetFolder(SourceFolderName)

r = Range("A65536").End(xlUp).Row + 1
For Each FileItem In SourceFolder.Files
' display file properties
Cells(r, 1).Formula = FileItem.Name
Cells(r, 2).Formula = FileItem.Path
Cells(r, 3).Formula = FileItem.DateCreated
Cells(r, 4).Formula = FileItem.DateLastModified
r = r + 1 ' next row number
Next FileItem
If IncludeSubfolders Then
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path, True
Next SubFolder
End If
Columns("A:G").ColumnWidth = 17
Columns("H:I").AutoFit
Columns("J:L").ColumnWidth = 17
Columns("M:P").ColumnWidth = 17
Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing
ActiveWorkbook.Saved = True
End Sub



J'aimerais que le chemin "D:\Mes Documents\ECOTEC 3eme ANNEE\VBA FM\" ne soit pas rentré dans le code mais dans la cellule C2 de la feuil et que le code, prenne cette cellule comme référence.
Cette macro liste l'ensemble des fichiers alors que je voudrais uniquement les fichiers .xls

Est-ce possible ? Pouvez-vous m'aider svp ?
A voir également:

1 réponse

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour
pour chercher et inscrire un dossier en C2

Function recherchedossier()
Dim ObjShell As Object, ObjFolder As Object
Dim Message As String
Dim Chemin As String

Message = "Faire la Sélection du dossier"
Set ObjShell = CreateObject("Shell.Application")
Set ObjFolder = ObjShell.BrowseForFolder(&H0&, Message, 1)

On Error Resume Next 'Si on sort sans sélection
Chemin = ObjFolder.ParentFolder.ParseName(ObjFolder.Title).Path & ""
If Chemin = "" Then End
recherchedossier = Chemin
End Function
0