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