Recherche de classeurs

isis1be Messages postés 45 Date d'inscription lundi 15 septembre 2003 Statut Membre Dernière intervention 19 avril 2008 - 19 avril 2008 à 17:02
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 20 avril 2008 à 22:43
Salut  à tous


Pour faire ma recherche de classeur excel j'utilise ce code:


Private Sub btnchercher_Click()

    Dim Fichier As String

   

    ListBoxResult.Clear  'on vide en premier


    'recherche dans un répertoire précis

    'Dir("C:\Documents and Settings\Vinc\Bureau"): renvoie le premier fichier

    'de ce répertoire et parcour les suivants

   

   

Fichier = Dir(Environ("USERPROFILE") & Application.PathSeparator & _

                "Bureau" & Application.PathSeparator)

   

    Do While Fichier <> ""

    'UCase pour s'assurer d'une bonne comparaison entre les chaînes

        If UCase(Fichier) Like "*" & UCase(ZoneRech.Value) & "*.XLS" Then

            ListBoxResult.AddItem Fichier

        End If

        Fichier = Dir  ' Recherche suivante

    Loop


    'On spécifie l'Index à afficher seulement si la liste n'est pas vide

    If ListBoxResult.ListCount > 0 Then ListBoxResult.ListIndex = 0

End Sub


avec cette fonction:


Private Function lfctFolderExists(aFolder As String) As Boolean

Dim li_Index As Integer


'Parcourt les éléments de la liste


For li_Index = 0 To ListBoxResult.ListCount - 1


    'Si un des éléments porte le nom passé en paramètre,

    'on sort en indiquant que l'élément est déjà présent

   

    If ListBoxResult.List(li_Index) = aFolder Then

        lfctFolderExists = True

        Exit Function

    End If

Next li_Index

End Function


dans se dossier clients j'ai une série d'autres dossiers avec chacun
des classeurs excel dedans et je voudrais trouver les classeurs de tous
les dossiers, comment faudrait-il faire car avec se code ca ne marche
pas. Faut-il rajouter une étoile à la fin du chemin?



Je vous remercie de votre aide et désolé si ma question est un peu bète mais mon niveau en vba est débutant ,@ bientôt.

1 réponse

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
20 avril 2008 à 22:43
Tu dois utiliser la récursivité.
Fais une recherche sur le site. Il y a eu une bonne réponse récemment.

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous