Bonjour,

Je viens vers vous car j'ai besoin de votre aide.
En effet, j'ai un code me permettant de demander l'ouverture de certain type de fichier excel (xlsm et xls), cependant je suis obligé d'en selectionner plusieurs pour pouvoir valider l'action alors que moi je ne souhaite en ouvrir qu'un seul...

Je vous joints le code en esperant avoir été assez clair dans mes explications.
Merci d'avance a vous!

cordialement

code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Sub OuvreClasseurs()
Dim strFiles
Dim xlFiles
Dim blnOuvert As Boolean
Dim strMessage As String
Dim wbk As Workbook
Dim i As Integer
Dim j As Integer
' Affiche la boîte de dialogue Ouvrir
strFiles = Application.GetOpenFilename _
(filefilter:="Fichiers Excel (*.xlsm),*.xlsm, (*.xls),*.xls", _
Title:="Sélectionnez les fichiers à ouvrir", _
MultiSelect:=True)
' Teste si des fichiers ont été sélectionnés
If TypeName(strFiles) = "Variant()" Then
ReDim xlFiles(UBound(strFiles))
For i = 1 To UBound(strFiles)
' Contrôle l'extension du fichier
If Right(strFiles(i), 4) = "xlsm" Then
' Teste si le fichier est déjà ouvert
blnOuvert = False
For Each wbk In Workbooks
If wbk.Path & "\" & wbk.Name = strFiles(i) Then
blnOuvert = True
End If
Next wbk
' Stocke le nom de fichier dans un tableau
If Not blnOuvert Then
j = j + 1
xlFiles(j) = strFiles(i)
strMessage = strMessage & strFiles(i) & vbCr
End If
End If
Next i
' Ouvre tous les fichiers Excel après confirmation
If j > 1 Then
strMessage = "Confirmez-vous l'ouverture des fichiers : " _
& vbCr & strMessage
If MsgBox(strMessage, vbYesNo + vbQuestion) = vbYes Then
For i = 1 To j
Workbooks.Open Filename:=xlFiles(i)
Next i
End If
End If
Else
MsgBox "Aucun fichier sélectionné"
End If
 
End Sub