Bonjour Violette, Hoss, Mathieu
Les Contrôles additionnels qui s'affichent avec la manip décrite par Mathieu, ne sont pas forcément disponibles selon les Versions d'Excel et des Licenses pour les OCX/ DLL, en effet certaines nécessitent un enregistrement, qui se fait lors de l'installation de VB (pas VBA) ou de Visual.net (etc) et des STK (Special Tools Kit), donc avec une version de base d'Office, il est normal qu'Excel ne puisse exploiter tous les Controls affichés... (Essayer les Contrôles dont le nom commencent par Microsoft, il y aura plus de chance de pouvoir les utiliser)
Ceci dit pour en revenir à la question d'Houssem, je pense que "GetOpenFile" peut être une solution.
Option Explicit
Sub GetOpenFileSample()
Dim TheFile As Variant
Dim WB As Workbook
Dim ThePath As String '<<<<<<<<<<<<<<<<<<<<< OPTIONAL
Dim UserDir As String '<<<<<<<<<<<<<<<<<<<<< OPTIONAL
ThePath = "C:\Mes Documents\" '<<<<<<<<<<<<< OPTIONAL à adapter of course
UserDir = CurDir '<<<<<<<<<<<<<<<<<<<<<<<<<< OPTIONAL
ChDir ThePath '<<<<<<<<<<<<<<<<<<<<<<<<<<<<< OPTIONAL
TheFile = Application.GetOpenFilename("All Files(*.*),*.*") 'All Files
'TheFile = Application.GetOpenFilename("Excel Files(*.xls),*.xls") '<<Fichiers Excel Only
If TheFile = False Then
ChDir UserDir '<<<<<<<<<<<<<<<<<<<<<<<<<<<<< OPTIONAL
Exit Sub
End If
MsgBox TheFile
'Set WB = Workbooks.Open(TheFile) '<<< Pour Ouvrir le Fichier XLS Only
ChDir UserDir '<<<<<<<<<<<<<<<<<<<<<<<<<<<<< OPTIONAL
End Sub
Dans cet exemple les lignes indiquées avec Optional en commentaires servent à paraméter un répertoire à pointer par défaut, tout en remettant en place à la sortie le répertoire par défaut de l'utilisateur. Si tu n'en as pas besoin tu peux les supprimer, mais la méthode "GetOpenFileName" pointera alors sur le répertoire par défaut, et il faudra "naviguer" dans les folders si nécessaire...
Plus d'infos dans ce Fil => Lien supprimé
Bon Week End
@+Thierry