Bonjour Dadu, bonjour le forum,
Dommage que tu n'aies pas précisé comment tu faisais ce que tu sais faire. Ça nous aurait permis de te répondre par rapport à ta méthode à toi...
Le code ci-dessous a besoin d'une UserForm avec seulement une ListBox nommé ListBox1. Tu double-cliques dans un fichier de la liste pour l'ouvrir. Tu adapteras la variable CH qui définit le dossier de départ et éventuellement la condition pour les extensions :
Private CH As String 'déclare la variable CH (CHemin d'accès)
Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
Dim SF As Object 'déclare la variable SF (Système de Fichiers)
Dim D As Object 'déclare la variable D (Dossier)
Dim FS As Object 'déclare la variable FS (FichierS)
Dim F As Object 'déclare la variable F (Fichier)
CH = "C:\Users\Dadu\Documents\" 'définit le chemin CH (à adapter à ton cas)
Set SF = CreateObject("Scripting.FileSystemObject") 'définit le système de fichiers SF
Set D = SF.GetFolder(CH) 'définit le dossier D
Set FS = D.Files 'définit l'ensemble des fichiers FS du dossier D
For Each F In FS 'boucle sur tous les fichiers F de l'ensemble FS du dossier D
'condition : si les 3 premiers caractères de l'exrtension commencent par "xls" (à adapter à ton cas)
If Left(Split(F.Name, ".")(1), 3) = "xls" Then
Me.ListBox1.AddItem F.Name 'ajoute le fichier `ala ListBox1
End If 'fin de la condition
Next F 'prochain fichier de la boucle
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'au boucle-clic dans la ListBox1
Workbooks.Open (CH & "\" & Me.ListBox1.Value) 'ouvre le fichier
Unload Me 'vide et ferme l'UserForm
End Sub