arborescence

arborescence - VB/VBA/VBS - Programmation

Marsh Posté le 08-06-2007 à 13:56:56    

Bonjour,
JE cherche à créer un programme qui me permet d'afficher toute l'arborescence d'un répertoire, c 'est à dire tous les dossiers et sous dossiers contenus dans le repertoires avec tous les fichiers.
merci d'avance

Reply

Marsh Posté le 08-06-2007 à 13:56:56   

Reply

Marsh Posté le 08-06-2007 à 15:37:00    

sur les topics en cours, tu peux récupérer le code pour connaitre les fichiers en question.
tu créés par la suite un élément dans ta récursivité qui te donne la profondeur, par exemple.
le résultat est à afficher dans quel réceptacle ? formulaire ? tableau ? document ?

Reply

Marsh Posté le 08-06-2007 à 22:12:18    

A titre documentaire en VBA et extrait de réponses déjà données sur le forum


Option Explicit
 
' Dans VBA Outils | Références : Cocher Microsoft Scripting Runtime
 
Const DossierFichiers As String = "C:\Utiles"
 
Sub Liste()
    ShImport.Cells.Clear
    ListeFichiersDansDossier DossierFichiers, True
End Sub
 
Private Sub ListeFichiersDansDossier(ByVal NomDossierSource As String, ByVal InclureSousDossiers As Boolean)
Dim FSO As Scripting.FileSystemObject
Dim DossierSource As Scripting.Folder, SousDossier As Scripting.Folder
Dim Fichier As Scripting.File
Dim r As Long
 
    Set FSO = New Scripting.FileSystemObject
    Set DossierSource = FSO.GetFolder(NomDossierSource)
 
    r = Range("A65536" ).End(xlUp).Row + 1
 
    For Each Fichier In DossierSource.Files
        With ShImport
            .Cells(r, 1).Formula = Fichier.Name
            .Cells(r, 2).Formula = Fichier.ParentFolder
        End With
        r = r + 1
    Next Fichier
     
    If InclureSousDossiers Then
        For Each SousDossier In DossierSource.SubFolders
            ListeFichiersDansDossier SousDossier.Path, True
        Next SousDossier
        Set SousDossier = Nothing
    End If
     
    Set Fichier = Nothing
    Set DossierSource = Nothing
    Set FSO = Nothing
End Sub


Message édité par kiki29 le 08-06-2007 à 22:31:58
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed