rebonsoir Antoine
j'espere que ces compléments d'informations pourront t'aider
Sub rechercheFichiers_Repertoire()
Dim Dossier As String
Dim Cible As String
Dossier = "C:\Documents and Settings\michel"
'adapter le nom du répertoire contenant le classeur à rechercher
'**************************************************
'boite de dialogue qui permet de saisir le nom ou une partie du nom de classeur à rechercher
Cible = InputBox("Saisir le nom ou une partie du fichier à retrouver ", "Recherche Fichier")
'si le nom du classeur est deja connu on peut ecrire :
'Cible = "MonClasseur.xls"
'**********************************************
If Cible = "" Then Exit Sub'sortir si rien n'est saisi dans la boite de dialogue
ListFilesInFolder Dossier, Cible, True 'appel de la procedure "ListFilesInFolder"
End Sub
Sub ListFilesInFolder(SourceFolderName As String, motCible, IncludeSubfolders As Boolean)
' adapté de Ole P Erlandsen
'necessite d'activer la reference Microsoft Scripting RunTime
Dim Fso As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder
Dim SubFolder As Scripting.Folder
Dim FileItem As Scripting.File
Set Fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = Fso.GetFolder(SourceFolderName)
For Each FileItem In SourceFolder.Files
'boucle sur tous les classeur du repertoire :
'controle si les noms de classeurs comportent une partie de la variable "cible"
If InStr(1, FileItem.Name, motCible, vbTextCompare) > 0 And Right(FileItem.Name, 4) = ".xls" Then
'MsgBox "Fichier trouvé : " & vbLf & FileItem.Name, , _
"Recherche des classeurs contenant le mot " & motCible
Workbooks.Open SourceFolder.Path & "\" & FileItem.Name
Exit Sub 'sortir de la procedure'ouverture du classeur
End If
Next FileItem
'If IncludeSubfolders Then 'recherche dans les sous repertoires
'For Each SubFolder In SourceFolder.subfolders
'ListFilesInFolder SubFolder.Path, motCible, True
'Next SubFolder
'End If
End Sub
bonne soiree
MichelXld