RESOLU - Selectionner feuille sans .Select

castor30

XLDnaute Occasionnel
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.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour castor30,

(...) Ma question est dans le texte, car je vois fréquemment qu'il faut éviter les .Select et .Activate
Comment faire alors ? (...)

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 :
VB:
Activesheet.range("A1:A10") .copy
  sheets("toto").select
   range("C1").select
  activesheet.paste
On peut écrire :
VB:
Activesheet.range("A1:A10") .copy Sheets("toto").range("C1")
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re-Bonjour Castor, Mapomme

je vois fréquemment qu'il faut éviter les .Select et .Activate
Comment faire alors ?


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.

Voici un petit exemple sous forme d'image

101.jpg


à+
Philippe
 

Discussions similaires

Réponses
13
Affichages
234

Statistiques des forums

Discussions
312 172
Messages
2 085 936
Membres
103 051
dernier inscrit
briyan75