Option Explicit
Sub OuvertureDeFichiers()
Dim OuvrirFichiers As Variant
Dim rep As Long
Dim liste As String
Dim compteur As Byte
'
'affichage de la boîte de dialogue Ouvrir
OuvrirFichiers = Application.GetOpenFilename("Tous les fichiers Microsoft Excel, *.xls", , , , True)
Select Case TypeName(OuvrirFichiers)
Case Is = "Boolean"
MsgBox "Aucun fichier n'a été sélectionné. Fin de la procédure", _
vbOKOnly + vbCritical, "Fin de la procédure"
Case Is = "Variant()"
'si l'utilisateur a sélectionné plusieurs fichiers
If UBound(OuvrirFichiers) > 1 Then
For compteur = 1 To UBound(OuvrirFichiers)
liste = liste & vbCr & OuvrirFichiers(compteur)
Next compteur
'affichage de la liste des fichiers et proposition d'ouverture
rep = MsgBox("L'utilisateur a sélectionné plusieurs fichiers. En voici la liste." & _
liste & vbCr & "Voulez-vous les ouvrir ?", vbYesNo + vbQuestion, "Ouvrir les fichiers ?")
'ouverture des fichiers en cas de réponse positive
If rep = vbYes Then
For compteur = 1 To UBound(OuvrirFichiers)
Workbooks.Open Filename:=OuvrirFichiers(compteur)
Next compteur
End If
'si un seul fichier a été sélectionné, il est ouvert
Else
Workbooks.Open Filename:=OuvrirFichiers(1)
End If
End Select
End Sub