Bonjour le forum,
Ma question est dans le texte, car je vois fréquemment qu'il faut éviter les .Select et .Activate
Comment faire alors ?
En vous remerciant.
Il faut les éviter quand c'est possible, soit dans la grande majorité des situations mais pas toutes. On peut les éviter en suffixant les références des range. ex : a= sheets("Toto").range("a1").
Si on a beaucoup à faire sur la feuille toto, on peut utiliser le With ... End With.
VB:
With sheets("toto")
n = .cells(.rows.count,"a")
.range("A:D" & n).sort .range("a1"), header:=xlyes
end with
En utilisant l'aide d'Excel VBA. Les instructions peuvent comporter des paramètres de destination.
Au lieu de :
C'est vrai que cette réflexion apparait souvent mais il faut la replacer dans son contexte
Pour les débutants, il est facile d'utiliser l'enregistreur de macros mais il est bon de faire ensuite un peu de "nettoyage" dans le code fourni
En effet, pendant l'enregistrement, tous les déplacements que tu fais sur la feuille se retrouvent dans le code sous la forme de "Select".
La macro va cependant fonctionner mais tu vas voir toutes les sélections de cellules à l'écran et c'est désagréable.