Liste des fichier et sous-répertoire

Liste des fichier et sous-répertoire - VB/VBA/VBS - Programmation

Marsh Posté le 10-07-2005 à 18:57:41    

Bonjour,
 
Sur Excel, je cherche à afficher les sous-répertoires et fichiers qu'ils contiennent.
 
Quelle commande dois-je utiliser
 
- la commande DIR ?
- les searchfiles ?
 
Merci pour une info.
 
Cordialement
 
JR10

Reply

Marsh Posté le 10-07-2005 à 18:57:41   

Reply

Marsh Posté le 11-07-2005 à 08:17:59    

bonjour,
Pourquoi ?
 
Une piste :
 
Sub Test()
Application.Dialogs(xlDialogOpen).Show
End Sub
 
A+


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

Marsh Posté le 16-07-2005 à 11:23:58    

D'accord mais ensuite
Je veux copier les sous-répertoires et fichiers  
dans une feuille Excel
 
Merci de cette réponse

Reply

Marsh Posté le 16-07-2005 à 12:14:49    

Salut,
 
Voici un exemple d'utilisation de la fonction Dir pour extraire des noms de fichiers :
 

Sub Fichiers()
Dim Temp As String, Ligne As Integer, Colonne As Integer
Ligne = ActiveCell.Row
Colonne = ActiveCell.Column
Temp = Dir("D:\HC\Excel\*.xls", vbNormal)
Do
  If Temp = "" Then
    Exit Do
  Else
    Cells(Ligne, Colonne) = Temp
    Ligne = Ligne + 1
  End If
  Temp = Dir
Loop
'Tri alphabétique
Range(ActiveCell.Address & ":" & Cells(Ligne - 1, Colonne).Address).Select
     
    Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortTextAsNumbers
End Sub


 
Et un second pour les répertoires :
 

Sub SousRep()
Dim Temp As String, Ligne As Integer, Colonne As Integer
Ligne = ActiveCell.Row
Colonne = ActiveCell.Column
Temp = Dir("D:\HC\*.", vbDirectory)
Do
  If Temp = "" Then
    Exit Do
  ElseIf Temp = "." Or Temp = ".." Then
    'Ne rien afficher
  Else
    Cells(Ligne, Colonne) = Temp
    Ligne = Ligne + 1
  End If
  Temp = Dir
Loop
'Tri alphabétique
Range(ActiveCell.Address & ":" & Cells(Ligne - 1, Colonne).Address).Select
     
    Selection.Sort Key1:=ActiveCell, Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortTextAsNumbers
End Sub


 


---------------
A+
Reply

Marsh Posté le 16-07-2005 à 19:12:17    

Pour une recherche récursive dans tous les niveaux de sous dossiers tu peux voir avec les API « FindSearch, FindNext, FindClose » (les trois s'utilisent ensemble)  
Voir sur MSDN pour les détails des paramètres à passer

Reply

Sujets relatifs:

Leave a Replay

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