Comment éviter d'utiliser Select dans Excel VBA ?

Comment puis-je réécrire mon code VBA Excel pour éviter d’utiliser .Select et .Activate ?

Au lieu de sélectionner puis agir, référencez directement les objets :

Mauvais :

Sheets("Feuille1").Select
Range("A1").Select
Selection.Value = "Bonjour"

Bon :

Sheets("Feuille1").Range("A1").Value = "Bonjour"

Principes :

  • Utilisez des variables pour stocker les références aux classeurs, feuilles et plages
  • Qualifiez toujours vos références (spécifiez la feuille)
  • Utilisez With...End With pour les opérations multiples sur le même objet
  • Éviter Select améliore les performances et rend le code plus robuste