OVH Cloud OVH Cloud

Lister dossier et sous dossiers

2 réponses
Avatar
Jacques
Salut a toutes et tous

Dans un dossier j'aimerais pouvoir faire la liste des dossiers et sous
dossiers.

En colonne :
A, la liste des dossiers (1) (Genre musical)
B, la liste des sous dossiers(2) (Interprètes), des dossiers (1)
C,la liste des sous-dossiers (3) (Titre de l'album),des sous dossiers (2)
D,la liste des sous-dossiers (4) différants CD de l'album), des
sous-dossiers (3)

Voila, j'espère que cela est réalisable et vous remercie, par avance,
Jacques

2 réponses

Avatar
SilkRoad
bonjour Jacques

j'espere que cet exemple pourra t'aider


Option Explicit
Dim i As Integer
Dim Cible As Byte

Sub listeDossiers()
Dim Racine As String

Application.ScreenUpdating = False

Racine = "C:Documents and SettingsmonRepertoire"
Cible = nbSeparateur(Racine)
ListFilesInFolder Racine, True

Application.ScreenUpdating = True
i = 0
End Sub

Sub ListFilesInFolder(SourceFolderName As String, _
IncludeSubfolders As Boolean)
' adapté de Ole P Erlandsen
Dim Fso As Object, SourceFolder As Object
Dim SubFolder As Object

On Error GoTo Fin

Set Fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = Fso.GetFolder(SourceFolderName)

If IncludeSubfolders Then
For Each SubFolder In SourceFolder.subfolders

i = i + 1
'pour recuperer le chemin complet
'Cells(i, nbSeparateur(SubFolder.Path) - Cible) = SubFolder.Path
'
'pour recuperer uniquement le nom du dossier
Cells(i, nbSeparateur(SubFolder.Path) - Cible) = SubFolder.Name

ListFilesInFolder SubFolder.Path, IncludeSubfolders
Next SubFolder
End If

Fin:
End Sub


Function nbSeparateur(Chemin As String) As Byte
Dim m As Integer
Dim Nb As Byte

For m = 1 To Len(Chemin)
If Mid(Chemin, m, 1) = "" Then
Nb = Nb + 1
m = m + 1
End If
Next
nbSeparateur = Nb
End Function


cordialement
michel



"Jacques" wrote:

Salut a toutes et tous

Dans un dossier j'aimerais pouvoir faire la liste des dossiers et sous
dossiers.

En colonne :
A, la liste des dossiers (1) (Genre musical)
B, la liste des sous dossiers(2) (Interprètes), des dossiers (1)
C,la liste des sous-dossiers (3) (Titre de l'album),des sous dossiers (2)
D,la liste des sous-dossiers (4) différants CD de l'album), des
sous-dossiers (3)

Voila, j'espère que cela est réalisable et vous remercie, par avance,
Jacques





Avatar
Jacques
Michel, le forum

Merci, cela fonctionne, je vais voir pour mettre des entètes, et pouvoir y
mettre les fichiers de chaque dossier de manière a pouvoir me faire un trie.

Merci beaucoup, Jacques
"SilkRoad" a écrit dans le message de
news:
bonjour Jacques

j'espere que cet exemple pourra t'aider


Option Explicit
Dim i As Integer
Dim Cible As Byte

Sub listeDossiers()
Dim Racine As String

Application.ScreenUpdating = False

Racine = "C:Documents and SettingsmonRepertoire"
Cible = nbSeparateur(Racine)
ListFilesInFolder Racine, True

Application.ScreenUpdating = True
i = 0
End Sub

Sub ListFilesInFolder(SourceFolderName As String, _
IncludeSubfolders As Boolean)
' adapté de Ole P Erlandsen
Dim Fso As Object, SourceFolder As Object
Dim SubFolder As Object

On Error GoTo Fin

Set Fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = Fso.GetFolder(SourceFolderName)

If IncludeSubfolders Then
For Each SubFolder In SourceFolder.subfolders

i = i + 1
'pour recuperer le chemin complet
'Cells(i, nbSeparateur(SubFolder.Path) - Cible) = SubFolder.Path
'
'pour recuperer uniquement le nom du dossier
Cells(i, nbSeparateur(SubFolder.Path) - Cible) = SubFolder.Name

ListFilesInFolder SubFolder.Path, IncludeSubfolders
Next SubFolder
End If

Fin:
End Sub


Function nbSeparateur(Chemin As String) As Byte
Dim m As Integer
Dim Nb As Byte

For m = 1 To Len(Chemin)
If Mid(Chemin, m, 1) = "" Then
Nb = Nb + 1
m = m + 1
End If
Next
nbSeparateur = Nb
End Function


cordialement
michel



"Jacques" wrote:

Salut a toutes et tous

Dans un dossier j'aimerais pouvoir faire la liste des dossiers et sous
dossiers.

En colonne :
A, la liste des dossiers (1) (Genre musical)
B, la liste des sous dossiers(2) (Interprètes), des dossiers (1)
C,la liste des sous-dossiers (3) (Titre de l'album),des sous dossiers (2)
D,la liste des sous-dossiers (4) différants CD de l'album), des
sous-dossiers (3)

Voila, j'espère que cela est réalisable et vous remercie, par avance,
Jacques