Bonjour à tous,
j'ai codé une fonction retournant un string. Cette fonction a pour paramètre un chemin et un nombre de fichier. Elle va à l'emplacement indiqué et compte le nombre de fichier ayant les 4 premières lettres identiques si ce nombre et supérieur ou égal au nombre de fichier passé en paramètre elle retourne comme résultat les 4 premières lettres de ces fichiers.

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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Function Recherche(Chemin As String, NombreFicReq As Integer) As String
 
Dim Nom1 As String, Nom2 As String, Nom3 As String
Dim cpt As Integer, cpt2 As Integer
Dim t As Long
 
 
cpt = 0
cpt2 = 0
 
Dim R As ClFileSearch.ClasseFileSearch
Set R = ClFileSearch.Nouvelle_Recherche
    With R
        .FolderPath = Chemin
        .Extension = "*.DBF"
        .SubFolders = False
        .Execute
        For t = 1 To .FoundFilesCount
        Nom1 = Left(.Files(1).strFileName, 4)
        Nom2 = Left(.Files(t).strFileName, 4)
        If Nom1 = Nom2 Then
        cpt = cpt + 1
        Else
        Nom3 = Nom2
        cpt2 = cpt2 + 1
        End If
        Next
 
    End With
 
    If Not cpt >= NombreFicReq And Not cpt2 >= NombreFicReq Then
         Recherche = ""
        Else
        If cpt >= NombreFicReq Then
        Recherche = Nom1
        Else
        Recherche = Nom3
        End If
        End If
 
  Set R = Nothing
 
End Function
Je l'ai testé avec un dossier contenant 16 fichiers .dbf avec les mêmes 4 premières lettres et comme nombre de fichiers en paramètres de 10 mais elle ne retourne aucun résultat.

Merci d'avance pour le temps que vous allez me consacrer !