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 23335 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 novembre 2024 Ambassadeur 1 551
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 779
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