Copier et coller des données en utilisant le code VBA

J'ai un bouton sur une feuille de calcul qui, une fois pressé, doit permettre à l'utilisateur d'ouvrir un fichier, puis copiez les colonnes A à G de la feuille "Données", puis coller les données de ces colonnes dans la feuille en cours.

J'ai une erreur logique dans le code; il s'exécute, mais il colle la sélection dans le mauvais endroit.

J'ai du mal à référencer les deux classeurs.

Voici mon code:

Sub Button1_Click()
    Dim excel As excel.Application
    Dim wb As excel.Workbook
    Dim sht As excel.Worksheet
    Dim f As Object

    Set f = Application.FileDialog(3)
    f.AllowMultiSelect = False
    f.Show

    Set excel = CreateObject("excel.Application")
    Set wb = excel.Workbooks.Open(f.SelectedItems(1))
    Set sht = wb.Worksheets("Data")

    sht.Activate
    sht.Columns("A:G").Select
    Selection.Copy
    Range("A1").Select
    ActiveSheet.Paste

    wb.Close
End Sub

source d'informationauteur spookymodem