Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
XL 2013Récupérer les fichiers d'un dossier et de ses sous-dossiers tous niveaux
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 !
Bonjour les Excellents,
Je cherche une séquence de code VBA permettant de faire ce que dit le titre du sujet.
Je n'ai pas ça dans mes cartons et si vous l'aviez cela me ferait gagner du temps de codage.
Cordialement
D.
Bonjour à tous, le Forum, Je cherche a récupérer l'ensemble des chemins de tous les fichiers d'un répertoire qui comporte des dossiers, sous dossiers voires sous sous dossiers. Je bien trouver des exemples mais ceux-ci, et sauf erreur de ma part, ne me récupère que les fichiers du...
Bonjour à tous, le Forum, Je cherche a récupérer l'ensemble des chemins de tous les fichiers d'un répertoire qui comporte des dossiers, sous dossiers voires sous sous dossiers. Je bien trouver des exemples mais ceux-ci, et sauf erreur de ma part, ne me récupère que les fichiers du...
Option Explicit
'----------------------
'Saisie d'un répertoire
'----------------------
Sub SaisieRépertoire()
Dim Répertoire As String
Dim Réponse As Variant
'_______________________
'A partir de "Office XP"
If Val(Application.Version) >= 10 Then
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ActiveWorkbook.Path & "\"
.Show
If .SelectedItems.Count > 0 Then
Répertoire = .SelectedItems(1)
Else
Répertoire = ""
End If
End With
'_________________
'Avant "Office XP"
Else
Réponse = Application.InputBox("Répertoire ?", Default:=ActiveWorkbook.Path & "\", Type:=2)
If VarType(Réponse) = vbBoolean Then Exit Sub
Répertoire = Réponse
End If
'Répertoire incorrect
If Len(Répertoire) = 0 Or Len(Dir(Répertoire, vbDirectory)) = 0 Then Exit Sub
Call ParcoursRépertoire(Répertoire)
End Sub
'------------------------
'Parcours d'un répertoire
'------------------------
Sub ParcoursRépertoire(Répertoire As String)
Dim oFSO As Object
Dim oDir As Object
'File System Object
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oDir = oFSO.getfolder(Répertoire)
Call ParcoursFichiersEtSousRépertoires(oDir)
End Sub
'-----------------------------------------
'Parcours des fichiers et sous-répertoires
'-----------------------------------------
Sub ParcoursFichiersEtSousRépertoires(oDir As Object)
Dim oSubDir As Object
Dim oFile As Object
'MsgBox oDir.Path
'Parcours des fichiers du [sous-]répertoire
For Each oFile In oDir.Files
Call TraiteFichier(oFile.Path)
Next oFile
'Parcours des sous-répertoires du [sous-]répertoire
For Each oSubDir In oDir.SubFolders
Call ParcoursSousRépertoires(oSubDir)
Next oSubDir
End Sub
'-----------------------
'Traitement d'un fichier
'-----------------------
Sub TraiteFichier(Fichier As String)
MsgBox "Traitement <" & Fichier & ">"
End Sub
- 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