Problème Activate/Select

Fermé
Nico - 21 févr. 2020 à 22:01
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 22 févr. 2020 à 10:34
Bonjour,
J'ai essaye de créer une macro avec 2 classeurs distincts en essayant de sélectionner une cellule puis d'aller sélectionner jusqu'à a la dernière valeur de mon tableau pour ensuite le coller mais j'aimerais le faire sans les activate et select qui ralentissent mais je n'y arrive pas...

Windows("Classeur1.xlsx").Activate
Sheets("Feui1").Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Classeur2.xlsm").Activate
Sheets("Feuil1").Select
Range("A1").Select
ActiveSheet.Paste

Merci pour votre aide

Configuration: Macintosh / Safari 12.0.1

2 réponses

yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
21 févr. 2020 à 23:14
bonjour, peut-être
Dim rg As Range
Set rg = Workbooks("Classeur1.xlsx").Sheets("Feui1").Range("A1")
Range(rg, rg.End(xlDown)).Copy (Workbooks("Classeur2.xlsm").Sheets("Feuil1").[A1])
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
22 févr. 2020 à 10:34
Bonjour,

Pour compléter la réponse de yg_be (que je salue), tu peux constater qu'il applique une méthode simple et très efficace qui peut être généralisée :
1) Définir les variables (Dim variable)
2) Affecter les variables (Set variable = ... ou variable = ...)
3) Agir avec les variables (variable.Copy ...)

Si tu appliques cette méthode, tu verras que les macros deviennent plus lisibles
0