Comment inclure les sous-dossier dans la recherche depuis un répertoire (VBA)

Le
Emile63
Bonjour à tous,
La procédure ci-dessous, (réduite pour l'occasion) explore tous les
fichiers contenus dans un répertoire indiqué: Chemin
Mon problème c'est que souvent le répertoire désigné contient une
importante
quantité de sous-répertoires, et je souhaiterais que l'indication du
chemin
que je pointe, permette d'analiser également les sous-dossiers de ce
répertoire.
Est-ce que quelqu'un pourrait me mettre sur la voie?

Je vous remercie d'avance pour vos commentaires,
cordialement,
Emile
=
--
Sub Liste_Fichiers_Avec_Macro()
Dim Chemin As String
Chemin = ChoixDossier()
Set FS = CreateObject("Scripting.FileSystemObject")
If Chemin = "" Then End
Set F = FS.getFolder(Chemin)
End Sub

Function ChoixDossier()
Dim MonRépertoire As String
MonRépertoire = "\serveurEmile"
If Val(Application.Version) >= 10 Then
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = MonRépertoire
.Show
If .SelectedItems.Count > 0 Then
ChoixDossier = .SelectedItems(1)
Else
ChoixDossier = ""
End If
End With
Else
ChoixDossier = InputBox("¿Depuis quel répertoire?")
End If
End Function
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #22623771
Bonjour.
Voici un exemple; il liste les fichiers du dossier principal et de tous
les sous-dossiers. Tu peux le modifier pour répondre à tes besoins :

Dim Ctr As Long ' à mettre en tête d'un module standard

Sub SousDossiers()
Dim FSO As Object, Dossier As Object
Const DossierPrincipal As String = "d:donneesdaniel"
Application.ScreenUpdating = False
Sheets.Add
Set FSO = CreateObject("scripting.filesystemobject")
Set Dossier = FSO.getfolder(DossierPrincipal)
lectureSousDossiers Dossier
Application.ScreenUpdating = False
End Sub

Sub lectureSousDossiers(Dossier)
For Each f In Dossier.Files
Ctr = Ctr + 1
Cells(Ctr, 1) = f.Path
Next f
For Each d In Dossier.subfolders
lectureSousDossiers d
Next d
End Sub

Daniel


Bonjour à tous,
La procédure ci-dessous, (réduite pour l'occasion) explore tous les
fichiers contenus dans un répertoire indiqué: Chemin
Mon problème c'est que souvent le répertoire désigné contient une
importante
quantité de sous-répertoires, et je souhaiterais que l'indication du
chemin
que je pointe, permette d'analiser également les sous-dossiers de ce
répertoire.
Est-ce que quelqu'un pourrait me mettre sur la voie?

Je vous remercie d'avance pour vos commentaires,
cordialement,
Emile
--------------------------------------------------------------------------------
Sub Liste_Fichiers_Avec_Macro()
Dim Chemin As String
Chemin = ChoixDossier()
Set FS = CreateObject("Scripting.FileSystemObject")
If Chemin = "" Then End
Set F = FS.getFolder(Chemin)
End Sub

Function ChoixDossier()
Dim MonRépertoire As String
MonRépertoire = "\serveurEmile"
If Val(Application.Version) >= 10 Then
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = MonRépertoire
.Show
If .SelectedItems.Count > 0 Then
ChoixDossier = .SelectedItems(1)
Else
ChoixDossier = ""
End If
End With
Else
ChoixDossier = InputBox("¿Depuis quel répertoire?")
End If
End Function
Emile63
Le #22626441
Bonjour Daniel,
Merci por ton aide et solution.
J'essaie de modifier/adapter a ma procédure, mais pour l'instant je
n'y arrive pas..
Je persiste et te tiendrai au courant. ;-)
Cordialement,
Emile
Publicité
Poster une réponse
Anonyme