J'ai réussi ce que je voulais faire mais je découvre une autre chose que je voudrais améliorer dans mon code
Voici ma macro écris sur deux module
Module 1 :
Public NomFichierOuvrir As String
Sub RechercheFichier(MonFichier As String, Rep1 As String, Rep2 As String, Rep3 As String)
Dim oFS As Office.FileSearch
Dim NbResultat As Integer
Dim TableauResultat() As String
Set oFS = Application.FileSearch
With oFS
'Recherche répertoire 1
.NewSearch
.Filename = MonFichier & "*.pdf"
.LookIn = Rep1
.Execute
For i = 1 To .FoundFiles.Count
NbResultat = NbResultat + 1
ReDim Preserve TableauResultat(NbResultat)
TableauResultat(NbResultat) = .FoundFiles.Item(i)
Next i
'Recherche répertoire 2
.NewSearch
.Filename = MonFichier & "*.pdf"
.LookIn = Rep2
.Execute
For i = 1 To .FoundFiles.Count
NbResultat = NbResultat + 1
ReDim Preserve TableauResultat(NbResultat)
TableauResultat(NbResultat) = .FoundFiles.Item(i)
Next i
'Recherche répertoire 3
.NewSearch
.Filename = "*.pdf"
.LookIn = Rep3 & MonFichier & "\"
.SearchSubFolders = True
.Execute
For i = 1 To .FoundFiles.Count
NbResultat = NbResultat + 1
ReDim Preserve TableauResultat(NbResultat)
TableauResultat(NbResultat) = .FoundFiles.Item(i)
Next i
End With
Select Case NbResultat
Case 1
NomFichierOuvrir = TableauResultat(1)
Case Is > 1
For i = 1 To NbResultat
Label2.ListBoxFichier.AddItem (TableauResultat(i))
Next i
Label2.Show
Case Else
NomFichierOuvrir = "Introuvable"
End Select
End Sub
Module 2 :
Sub Ouverture_pdf_Test()
Dim NomFichier As String
NomFichier = InputBox("Entrer le nom du fichier PDF", "Ouverture PDF")
If Not NomFichier = "" Then
Call RechercheFichier(NomFichier, "P:\Dossiers\Rive-Sud\CONTRAT RS\", "P:\Dossiers\Rive-Nord\CONTRAT RN\", "P:\Job_CAN\")
Select Case NomFichierOuvrir
Case "Introuvable"
MsgBox "Fichier introuvable"
Case "Annule"
Case Else
ActiveWorkbook.FollowHyperlink Address:=NomFichierOuvrir
End Select
End If
End Sub
je veux améliorer 2 chose.
1) Toujours afficher une listbox même si j'ai une seul fichier trouvé.
2) Lorsque je sélectionne une fichier dans ma listebox, le fichier ouvre, mais ma listbox se ferme, mais jaimerais qu'elle reste ouverte pour que je puisse sélectionner d'autre fichier.
Merci