Identifier si les dossiers d'une arborescence contiennent des fichiers?
M
Bonjour,
j'ai besoin d'aide sur un besoin particulier avec l'aide d'une macro ou pas.
Mon besoin est le suivant:
je souhaite pouvoir visualiser le contenu d'une arborescence sur un fichier Excel afin de vérifier dans une arborescence depuis l'explorateur dossiers de mon PC si au bout de chaque répertoire se trouve un fichier ou pas (un dossier vide).
je joins 2 photos pour illustrer mon besoin, n'hésitez pas à me dire si ce nest pas assez clair
je compte sur votre aide
Invité
Bonjour Milano,
Si j'ai bien compris, voici un code à utiliser
Dim Ligne As Long
Sub ArboRepertoire()
Dim Racine As String
Dim Fs As Object, Dossier_Racine As Object
'
Racine = ChoixDossier() ' ou un répertoire C:\xxx e.g.
If Racine = "" Then Exit Sub
Range("A:E").ClearContents
Set Fs = CreateObject("Scripting.FileSystemObject")
Set Dossier_Racine = Fs.getfolder(Racine)
Ligne = 3
Lit_dossier Dossier_Racine, 1
End Sub
Sub Lit_dossier(ByRef Dossier, ByVal Niveau)
Dim DsF As Object, oFile As Object
Cells(Ligne, Niveau) = IIf(Niveau > 1, "\", "") & Dossier.Name & IIf(Niveau > 1, "\", "")
Cells(Ligne, Niveau).Font.Bold = True
For Each oFile In Dossier.Files
Cells(Ligne, Niveau + 1) = oFile.Name
Ligne = Ligne + 1
Next oFile
'Ligne = Ligne + 1
For Each DsF In Dossier.SubFolders
Lit_dossier DsF, Niveau + 1
Next
End Sub
Function ChoixDossier()
If Val(Application.Version) >= 10 Then
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = ActiveWorkbook.Path & "\"
.Show
If .SelectedItems.Count > 0 Then
ChoixDossier = .SelectedItems(1)
Else
ChoixDossier = ""
End If
End With
Else
ChoixDossier = InputBox("Répertoire ?")
End If
End Function@+