Afficher visuellement le parcours du contenu dun dossier

Hello Forum,

Je cherche un moyen de faire un équivalent de ce que fait le code ci dessous mais sur les dossiers d'un répertoire donné cette fois, les sous dossiers et fichiers de ce dossier.

    dim c as range

    with Thisworkbook.worksheets("Feuil1")
        For each c in .range("A2:A" & .range("B" & rows.count).end(xlup).row)
            c.select
        next c
    End with

L'idée est de faire la même chose, en d'autres termes, afficher visuellement le parcours d'un dossier et son contenu.

En vous remerciant d'avance pour vos suggestions,

Y.

Bonjour,

J'avais utilisé cette macro il y a quelques temps (trouvé je ne sais plus où mais ça correspondait à ce que je voulais faire).

Peut--être que ça peut t'aider.

Dim ligne
Sub arborescence()
  Application.ScreenUpdating = False
  racine = ChoixDossier()          ' ou un répertoire C:\xxx e.g.
  If racine = "" Then Exit Sub
  Range("A3:E20000").ClearContents
  Range("A3").Select
  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)
   Cells(ligne, 1) = String(4 * (niveau - 1), " ") & "[" & dossier.Path & "]"
   Cells(ligne, 2) = dossier.Size
   Cells(ligne, 4) = dossier.Files.Count
   Cells(ligne, 1).Interior.ColorIndex = 36
   ligne = ligne + 1
   For Each f In dossier.Files
     Cells(ligne, 1) = String(4 * niveau, " ") & f.Name
     Cells(ligne, 1).Interior.ColorIndex = xlNone
     Cells(ligne, 2) = f.Size
     Cells(ligne, 3) = f.DateLastModified
     Cells(ligne, 4) = f.Attributes
     If f.Attributes And vbHidden Then Cells(ligne, 5) = "Caché"
     ligne = ligne + 1
   Next
   For Each d In dossier.SubFolders
     Lit_dossier d, 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

Re Paulox,

Merci de ce retour rapide. Il a l'air très bien ce code, je vais le garder sous le coude.

Seulement, il ne répond à mon attente puisque j'ai pu voir qu'il fait des affichages de chemins dans excel. Ce qui m'intéresse ici est de faire un parcours visuel (en sélectionnant le fichier ou dossier pas exemple, pour qu'il se mettre en bleu comme lorsqu'on fait à la main). Le but est de pouvoir afficher un témoin visuel du parcours du dossier.

Y.

Re,

En parcourant un peu ça et là, j'ai trouvé quelque chose qui ressemble à ce que je recherche. Je ne sais pas encore comment l'adapter à mon cas.

Le lien: https://forum.excel-pratique.com/viewtopic.php?t=63617

Moi j'ai ceci qui fonction bien déjà:

Shell Environ("WINDIR") & "\explorer.exe" & Dos, vbNormalFocus

Ce code m'ouvre bien le chemin vers mon fichier et me le montre. Mais il ne me le met pas surbrillance. J'ai pensé en exploitant le lien à ajouter le " /select, " et ça beug maintenant.

Instruction qui beug: Erreur d'exécution 53: Fichier Introuvable (alors que le dossier existe bien).

Shell Environ("WINDIR") & "\explorer.exe /select," & Dos, vbNormalFocus

Serait-ce parce qu'il s'attend à parcourir un fichier ? Je veux parcourir les fichiers dudit dossier de ce répertoire aussi avec la même formulation.

Y.

Re,

Le code qui beugait fonctionne bien désormais. Il fallait juste placer la ligne de code au bon endroit dans le code.

Le programme sélectionne bien le dossier voulu, sélectionne bien chaque fichier parcouru. Problème, il ouvre systématiquement une nouvelle fenêtre pour afficher sa sélection.

Du coup, le nombre de fenêtres ouvertes est égal à la somme du nombre de fichiers parcourus x dossier parcourus.

Comment lui dire de faire ses opérations dans la même fenêtre de parcours?

Y.

Rechercher des sujets similaires à "afficher visuellement parcours contenu dun dossier"