Chercher un dossier à l'aide de vba

nono747 -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je tiens tout d'abord à préciser que je suis complètement novice en vba.

je vous explique mon problème:
je dois créer une liste d'adresses; ces adresses je dois aller les chercher dans des fichiers excel (environ 200) qui se trouvent dans des dossiers différents (un dans chaque dossier). ces dossiers se trouvent les uns à la suite des autres donc je pense que pour la sélection des dossiers i lfaudra utiliser une boucle assez simple

je ne sais pas du tout comment faire et je n'ai pas trouvé la réponse dans les FAQ.

merci d'avance

3 réponses

pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Bonjour,
Tes "dossiers" sont des sous-répertoires d'un seul et même répertoire "parent"? Si oui, ce code te permet de réaliser ce que tu cherches :
Sub ChercherRépertoire()
Dim Liste() As String, Chemin As String, NomRep As String
Dim i As Integer

i = 0
Chemin = "C:\Travail\Excel\" 'à adapter place ici ton chemin d'accès au répertoire "parent"

'la boucle qui suit va étudier tous les éléments contenus dans le répertoire
'intitulé "chemin" et va stocker le nom des sous répertoires dans une
'variable tableau() appelée Liste(). Les éléments "fichiers" ne seront pas stockés.
NomRep = Dir(Chemin, vbDirectory)
Do While NomRep <> ""
    If NomRep <> "." And NomRep <> ".." Then
        If (GetAttr(Chemin & NomRep) And vbDirectory) = vbDirectory Then
            ReDim Preserve Liste(i)
            Liste(i) = NomRep
            i = i + 1
        End If
    End If
    NomRep = Dir
Loop

For i = 0 To UBound(Liste)
    'place ici le code de ce que tu veux faire avec les chemins
    'd'accès trouvés par la macro
    'par exemple : message à l'utilisateur avec les chemins d'accès complets :
    MsgBox Chemin & Liste(i)
Next
End Sub

Si malgré les commentaires tu as des difficultés à adapter, tu dis...
0
nono747
 
Merci, je vois ça ce soir et je te dirai si ça marche
0
nono747
 
juste une chose: si les répertoires et sous répertoires sont sur un réseau est ce que ça marche aussi?
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Oui. Suffit de renseigner le bon chemin.
0