Bonjour,
La macro suivant permet d'éditer l'arborescence d'un dossier.
Pouvez-vous me donner la modification qui permettrait :
- de permettre à l'utilisateur de sélectionner le dossier racine initial
- de créer une feuille portant le nom de ce dossier racine
- d'exécuter la macro sur cette nouvelle feuille
Merci beaucoup pour votre aide
La macro suivant permet d'éditer l'arborescence d'un dossier.
Pouvez-vous me donner la modification qui permettrait :
- de permettre à l'utilisateur de sélectionner le dossier racine initial
- de créer une feuille portant le nom de ce dossier racine
- d'exécuter la macro sur cette nouvelle feuille
Merci beaucoup pour votre aide
VB:
Sub fonctionAlancer()
Dim oFSO As Object
Dim oDossier As Object
Dim oFichier As Object
Dim i As Integer
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oDossier = oFSO.GetFolder("C:\") ' <<< changer le chemin ici en le faisant préciser par l'utilisateur
Application.ScreenUpdating = False
For Each oFichier In oDossier.SubFolders
Cells(i + 1, 1) = oFichier.Name
i = i + 1
i = Boucle(i, 2, "C:\" & oFichier.Name) '<<< il faudrait ici changer "C:\" par la racine précisée par l'utilisateur
Next oFichier
Application.ScreenUpdating = True
End Sub
Function Boucle(i As Integer, col As Integer, chemin As String) As Integer
Dim oFSO As Object
Dim oDossier As Object
Dim oFichier As Object
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oDossier = oFSO.GetFolder(chemin)
For Each oFichier In oDossier.SubFolders
Cells(i + 1, col) = oFichier.Name
i = i + 1
i = Boucle(i, col + 1, chemin & "\" & oFichier.Name)
Next oFichier
Boucle = i
End Function