Private Sub CommandButton1_Click()
Dim pathDossier As String, nomClasseur As String, pathClasseur As String
Dim classeur As Workbook
NumREF = Range("G2").Value
nomClasseur = "INDEX_NUM.xls"
pathDossier = "C:\REP1\REP2\REP3\REP4\"
Dim ws As Worksheet, wb As Workbook
Set ws = ThisWorkbook.Sheets("BASE")
pathClasseur = FindFile(pathDossier, nomClasseur)
If pathClasseur <> "" Then
Set wb = Workbooks.Open(pathClasseur)
ws.Range("A2") = wb.Sheets("INDEX_NUMERO").Range("A2") + 1
wb.Close False
Else
ws.Range("A2") = 1
End If
'Unload USF_saisies
'Usf_ImportSN.Show
End Sub
Private Function FindFile(pathDossier As String, nomFichier As String) As String
Dim myFso As Object, dossier As Object, ssDossier As Object, fichier As Object, pathFichier As String
'créer un "FileSystemObject"
Set myFso = CreateObject("Scripting.FileSystemObject")
'récupérer le dossier passé en paramètre
Set dossier = myFso.GetFolder(pathDossier)
'boucler sur chaque fichier du dossier
For Each fichier In dossier.Files
'si le fichier correspond à celui cherché, renvoyer le path du fichier et quitter la fonction
If fichier.Name = nomFichier Then FindFile = fichier.Path: Exit Function
Next fichier
'boucler sur chaque sous-dossier du dossier
For Each ssDossier In dossier.SubFolders
'rappeler la fonction sur le sous-dossier
pathFichier = FindFile(ssDossier.Path, nomFichier)
'si le fichié a été trouvé, renvoyer le path du fichier et quitter la fonction
If pathFichier <> "" Then FindFile = pathFichier: Exit Function
Next ssDossier
End Function