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 50 51 52 53 54 55 56
|
Option Explicit
Sub OuvreClasseur()
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 (*.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'exention du fichiers
If Right(strFiles(i), 3) = "xls" 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 fichiers 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 |
Partager