Problème Activate/Select

Nico -  
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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