[vba] Liste des fichiers d'un sous-répertoire

Liste des fichiers d'un sous-répertoire [vba] - VB/VBA/VBS - Programmation

Marsh Posté le 20-09-2004 à 19:03:34    

Bonjour,
 
Je voudrais obtenir la liste des fichiers d'un répertoire
(et si possible des sous-répertoires)
en VBA epour les mettre dans un tableau Excel.
 
Existe-t-il une commande pour le faire automatiquement
sans avoir a passé par une commande de redirection du type  
dir *.* > fichier dans un fichier bat ?
 
Merci de votre réponse
 
Cordialement
 
jr10

Reply

Marsh Posté le 20-09-2004 à 19:03:34   

Reply

Marsh Posté le 20-09-2004 à 21:54:04    

Bonsoir,
La macro suivante liste les sous répertoires et les fichiers dans la colonne A de la feuille 1.
Pour personnaliser le chemin :
- ExplorateurWindows - Propriétés - Emplacement (ou Cible)
 
Sub Test()
    ChDir "C:\...Mon chemin....\Mes documents"
Z = Dir("*.*", 16)
    While Z <> ""
    Worksheets(1).Cells(i + 1, 1).Value = Z
    i = i + 1
    Z = Dir
    Wend
End Sub
 
Mais les fichiers et sous répertoires sont triés dans un ordre
alphabétique strict...


---------------
roger
Reply

Marsh Posté le 20-09-2004 à 22:03:42    

Salut,
 
A supposer que tu entres en A3 un chemin d'accès quelconque, voici comment afficher dans une feuille Excel les dossiers et/ou fichiers correspondants :


Sub Dossiers()
Dim Chemin As String, Fichier As String, Ligne As Integer
Chemin = Range("A3" ).Text
Fichier = Dir(Chemin & "\*.", vbDirectory)
Ligne = 4
Do While Fichier <> ""
  If Fichier <> "." And Fichier <> ".." Then
    Ligne = Ligne + 1
    Cells(Ligne, 2) = Chemin & "\" & Fichier
  End If
  Fichier = Dir
Loop
End Sub
 
Sub Fichiers()
Dim Chemin As String, Fichier As String, Ligne As Integer
Chemin = Range("A3" ).Text
Fichier = Dir(Chemin & "\*", vbNormal)
Ligne = 4
Do While Fichier <> ""
  If Fichier <> "." And Fichier <> ".." Then
    Ligne = Ligne + 1
    Cells(Ligne, 6) = Chemin & "\" & Fichier
  End If
  Fichier = Dir
Loop
End Sub


 
A+
Horatio

Reply

Marsh Posté le 21-09-2004 à 09:48:30    

A mon avis le plus cool c'est une combinaison des 2 (.bat + VBA)
Avec un fichier toto.bat = DIR /0:GN *.* > result.txt
Cet exemple affiche en une seule passe les "Rep" et "Fch" de "MesDocs"
sous une forme facile à exploiter.
 
Sub Test()
Chemin = "C:\Documents and Settings\...Mon Chemin...\Mes documents"
Shell "Chemin" & "\toto.bat"
    Workbooks.OpenText Filename:="Chemin" & "\result.txt", Origin:=xlMSDOS, _
        StartRow:=4, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(10 _
        , 1), Array(17, 1), Array(36, 1)), TrailingMinusNumbers:=True
End Sub
 
A+


Message édité par galopin01 le 21-09-2004 à 22:39:34

---------------
roger
Reply

Sujets relatifs:

Leave a Replay

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