Moteur de recherche

Résolu
cs_epson1 Messages postés 89 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 29 mars 2013 - 30 déc. 2007 à 01:31
cs_epson1 Messages postés 89 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 29 mars 2013 - 30 déc. 2007 à 14:58
Salut à tous ,
j'utilise ce code trouvé sur le net (je sais plus où et je ne connait pas l'auteur)dans un module pour rechercher un fichier dans un dossier .Cela fonctionne trés bien mais je voudrais pouvoir utiliser le caractére générique comme * pour rechercher un fichier dont je ne connais pas le nom complet et ça ne marche pas ,il ne trouve rien .Y'a t'il moyen de modifier ce code pour que ça puisse marcher ?
Public Function ScanFolder(FolderPath As String, Optional Filename As String "", Optional SubFold As Boolean True) As Long
' Fonction récursive pour l'exploration des répertoires


    Dim Element As Variant
    Dim StrPath() As String
On Error Resume Next
    ScanFolder = fs.GetFolder(FolderPath).Files.Count


    For Each Element In fs.GetFolder(FolderPath).Files
        Form1.StatusBar1.Panels(1).Text = FolderPath
        If Filename <> "" Then
            StrPath = Split(Element, "")
            If InStr(1, StrPath(UBound(StrPath)), Filename) Then _
                    Form1.List1.AddItem Element
        Else
            Form1.List1.AddItem Element
        End If
        DoEvents
    Next Element


    If SubFold Then
        For Each Element In fs.GetFolder(FolderPath).SubFolders
            ScanFolder = ScanFolder + ScanFolder(Element.Path, Filename, SubFold)
        Next Element
    End If
End Function


Merci d'avance et bonne année 2008 .

2 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 déc. 2007 à 09:54
Bonjour,

Puisque tu extrait FileName :

Applique lui donc un filtre de comparaison à l'aide de l'opérateur Like (qui utilise les "jokers")et ajoute à la liste uniquement si le résultat est vérifié.

Vois Like dans ton aide en ligne.
3
cs_epson1 Messages postés 89 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 29 mars 2013
30 déc. 2007 à 14:58
Salut Jmfmarques et merci pour ta réponse ,
je ne me suis jamais servi de cet operateur et je savais pas qu'il utilisait les jokers .Je m'en vais donc suivre ton conseil et ouvrir l'aide en ligne .

Merci et bonne année .
@+
0
Rejoignez-nous