Sub test()
Dim classeurSource As Workbook, classeurDestination As Workbook, feuille$
'Choix de la feuille à traiter
feuille = ActiveSheet.Name
'Choix du fichier source à ouvrir
With Application.FileDialog(msoFileDialogOpen)
.Title = "Choisissez le fichier"
.Filters.Clear
.Filters.Add "Fichier Excel", "*.xls*"
.AllowMultiSelect = False
If .Show <> 0 Then
nom = .SelectedItems(1)
'ouvrir le classeur source (en lecture seule)
Set classeurSource = Application.Workbooks.Open(nom, , True)
'définir le classeur destination
Set classeurDestination = ThisWorkbook
'copier les données de la "Feuille" du classeur source vers la "Feuille" du classeur destination
classeurSource.Sheets(feuille).Range("A2:D20").Copy
classeurDestination.Sheets(feuille).Range("H5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A18").Select
'fermer le classeur source
classeurSource.Close False
Else
MsgBox "Aucun fichier n'a été sélectionné", , "Erreur": Exit Sub
End If
End With
Calculate
End Sub