Bonjour tous,
la fonction FileSearch n'étant plus supportée par excel 2007 à moins d'un Add in, je préfère FileSystemObject
C'est exemple recherche un classeur qui à l'extention "xls" et qui contient la parte "mot"
1 2
| 'En tête du module (pas oublier si ont veux que la recherche soit faite sans distinction de la case)
Option Compare Text |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Sub LireRepertoir3()
'lire les fichiers d'un répertoir avec un filtre
Dim fs, F, f1, S, sf
Dim Ext As String, Chemin As String, Mot As String
Chemin = "E:\" 'adapter au répertoir où sont situés les fichiers.
Ext = "xls"
Mot = "UnePartieDuNom"
Set fs = CreateObject("Scripting.FileSystemObject")
Set F = fs.GetFolder(Chemin)
Set sf = F.Files
For Each f1 In sf
If Right(f1.Name, 3) = Ext And f1.Name Like "*" & Mot & "*" Then 'pour être certain que c'est un bon fichier
'ici le fichier contient la partie du Mot et l'extention xls.
'et en faire ce que l'ont veux
Stop
End If
Next
End Sub |
Note: si on veux exclure la partie "mot" faire l'inverse
If Right(f1.Name, 3) = Ext And not(f1.Name Like "*" & Mot & "*") Then
A+
Si j'en crois ton titre..Fichiers récents, si c'est dans les dernier fichiers ouvert tu peu les rechercher autrement...
1 2 3 4 5 6 7
| Sub FichierRecent()
Dim i As Integer
Sheets("Feuil3").Range("I4:I20").ClearContents
For i = 1 To Application.RecentFiles.Count
Sheets("Feuil3").Cells(3 + i, 9) = Application.RecentFiles(i).Name
Next i
End Sub |
Partager