Problème Activate/Select

[Fermé]
Signaler
-
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
-
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

Messages postés
17136
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 octobre 2021
910
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])
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 704
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