Liste des dossiers et sous-dossiers

  • Initiateur de la discussion Initiateur de la discussion C@thy
  • Date de début Date de début

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 !

C@thy

XLDnaute Barbatruc
Bonjour le forum,

ce fil m'a fourni une macro qui liste tous les répertoires et sous-répertoires de ma boîte Outlook.

J'ai essayé de bidouiller une 2ème macro sur ce modèle pour lister les sous-sous-dossiers
mais sans grand succès.

Voici la macro (1ère feuille la bonne, 2ème feuille la mauvaise).
Si vous avez une petite idée sur la façon de corriger la chose, je vous en remercie par avance.

Big bisous et bonne soiréche

C@thy
 

Pièces jointes

Re : Liste des dossiers et sous-dossiers

Bonjour,

Tu copies ce qui suit dans un module standard, et tu indiques dans
la procédure "Sub Folders()", le répertoire de départ : sFolder = "C:\Program Files\"

Le résultat s'affiche dans une nouvelle feuille "Files" du classeur.


Une procédure de Bob Philips



Option Explicit

Private cnt As Long
Private arfiles
Private level As Long
'-------------------------------
Sub Folders()
Dim i As Long
Dim sFolder As String
Dim iStart As Long
Dim iEnd As Long
Dim fOutline As Boolean

arfiles = Array()
cnt = -1
level = 1

sFolder = "C:\Program Files\"
ReDim arfiles(2, 0)
If sFolder <> "" Then
SelectFiles sFolder
Application.DisplayAlerts = False
On Error Resume Next
Worksheets("Files").Delete
On Error GoTo 0
Application.DisplayAlerts = True
Worksheets.Add.Name = "Files"
With ActiveSheet
For i = LBound(arfiles, 2) To UBound(arfiles, 2)
If arfiles(0, i) = "" Then
If fOutline Then
Rows(iStart + 1 & ":" & iEnd).Rows.Group
End If
With .Cells(i + 1, arfiles(2, i))
.Value = arfiles(1, i)
.Font.Bold = True
End With
iStart = i + 1
iEnd = iStart
fOutline = False
End If
Next
.Columns("A:Z").ColumnWidth = 5
End With
End If
'just in case there is another set to group
If fOutline Then
Rows(iStart + 1 & ":" & iEnd).Rows.Group
End If

Columns("A:Z").ColumnWidth = 5
ActiveSheet.Outline.ShowLevels RowLevels:=1
ActiveWindow.DisplayGridlines = False

End Sub

'-----------------------------------------------------------------------
Sub SelectFiles(Optional sPath As String)
'-----------------------------------------------------------------------
Static FSO As Object
Dim oSubFolder As Object
Dim oFolder As Object
Dim oFile As Object
Dim oFiles As Object
Dim arPath

If FSO Is Nothing Then
Set FSO = CreateObject("Scripting.FileSystemObject")
End If

If sPath = "" Then
sPath = CurDir
End If

arPath = Split(sPath, "\")
cnt = cnt + 1
ReDim Preserve arfiles(2, cnt)
arfiles(0, cnt) = ""
arfiles(1, cnt) = arPath(level - 1)
arfiles(2, cnt) = level

Set oFolder = FSO.GetFolder(sPath)

level = level + 1
If Not sPath Like "*System Volume Information*" Then
For Each oSubFolder In oFolder.subfolders
SelectFiles oSubFolder.Path
Next
End If
level = level - 1

End Sub
'-------------------------------
 
Re : Liste des dossiers et sous-dossiers

Oups!

Merci MichD,

je n'avais pas vu ta réponse (passée dans les courriers indésirables!)

mille pardons et mille mercis

je sors en erreur sur cette instruction :
For Each oSubFolder In oFolder.subfolders

erreur 70 permission refusée😕

Biz

C@thy
 
Dernière édition:
Re : Liste des dossiers et sous-dossiers

coucou le fil salut cathy,

Je crois que j'ai trouvé ta soluce!!!!

Repond moi vite!!!


BIZzzzzzzzzzzzzz
 

Pièces jointes

Re : Liste des dossiers et sous-dossiers

YAISSSSSSE!!!!!

Youpiiiiiiiiiiiiiiiiiii ça maaaaaaaaaaaaaaaaaaaarche!!!

Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

C'était pas facile! Je "like" ta réponse

Bizzzzzzzzz

C@thy
 
Dernière édition:
- 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

Discussions similaires

Retour