Bonjour à tous

Je vous explique mon problème.

Je dois développer une petite application qui doit rechercher dans des dossiers tous les dossiers d'une année (recherche en fonction du nom du dossier, par exemple 2004-02 ou 2006-12, et non pas sur l'année réelle de création ) et le copier sur un disque dur externe.

j'arrive à copier sans problème. le seul problème que j'ai est que je ne connais pas le nombre de sous dossiers à parcourir, donc je ne peux pas écrire le chemin en dur.

Je dois par exemple chercher dans toto/tata/plein de dossiers/2006-12.

J'arrive à chercher dans le premier dossier et ses sous dossiers, mais impossible pour moi de remonter au premier dossier pour chercher dans le second sous dossier...

je sais pas si c'est assez clair? Pouvez vous m'aider?

merci d'avance...

voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
    Private Sub rechercheDossier(ByVal source As DirectoryInfo, ByVal dest As DirectoryInfo, ByVal Annee As String) ' source = adresse du dossier principal. dest adresse du HDD et Annee = annee contenu dans nom du dossier à copier.
 
        For Each subDirectory As DirectoryInfo In source.GetDirectories()
 
            If subDirectory.Name.Contains(Annee) Then
 
                CopyDossier(subDirectory, dest.CreateSubdirectory(subDirectory.Name)) 'appel de la fonction copie
                subDirectory.Delete(recursive:=True)
 
 
            Else
 
 
                rechercheDossier(New DirectoryInfo(dossier & "\" & subDirectory.Name), New DirectoryInfo(AdrHDD), Annee) 'rappel de cette même fonction pour chercher dans les sous dossiers
                dossier = dossier & "\" & subDirectory.Name 'redéfinition du chemin 
 
            End If
 
        Next
 
        dossier = AdrPC 'on redéfini le chemin d'origine
 
    End Sub