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
Vous devez vous connecter pour publier un commentaire.
Utiliser la méthode PasteSpecial:
MAIS votre problème est que vous changez votre ActiveSheet de "Données" et non pas à le changer en arrière. Vous n'avez pas besoin de les Activer et de les Sélectionner, de par mon code (cela suppose que votre bouton est sur la feuille de copie).
'Donc, à partir de cette discussion, je pense à ce qui devrait être le code puis.
'Laissez-moi savoir si cela est correct ou une étape a été manquée. Thx.