Lorsqu’on veut utiliser des macros, il est conseillé de suivre certaines règles pour l’écriture du code VBA. Afin d’optimiser l’exécution de la macro, il est préférable de désactiver pendant son exécution les fonctionnalités d’Excel qui ne sont pas utiles (il ne faut pas oublier de les réactiver à la fin de la macro).
Désactiver l’affichage à l’écran
Il est possible de désactiver l’affichage à l’écran avec l’objet Application.ScreenUpdating (il faut lui attribuer la valeur false).
Désactiver la barre d’état
Il est possible de désactiver la barre d’état (en bas de l’écran) qui permet de savoir si la macro est en éxécution ou non. Pour cela, il faut utiliser l’objet Application.DisplayStatusBar (il faut lui attribuer la valeur false).
Désactiver le recalcul automatique
Il est possible de désactiver le recalcul automatique d’Excel quand une cellule est modifiée. Pour cela, il faut utiliser l’objet Application.Calculation (il faut lui attribuer la valeur xlManual pour désactiver et xlAutomatic pour réactiver)
Désactiver les évenements
Si la macro ne nécessite pas de détecter un évènement, il est possible de désactiver les évenements afin de ne pas consommer des ressources inutilement. Pour cela, il faut utiliser l’objet Application.EnableEvents (il faut lui attribuer la valeur false).
Désactiver les sauts de page
Si des sauts de pages ont été insérés manuellement (pour l’impression du document), il est possible de les désactiver le temps de l’éxécution de la macro avec l’objet ActiveSheet.DisplayPageBreaks (il faut lui attribuer la valeur false). A noter que l’on passe par l’objet ActiveSheet et non Application, il faut donc sélectionner la bonne feuille de calcul.
Il est conseillé de mettre à la première ligne du module l’option Explicit « Option Explicit ») qui présente plusieurs avantages. Elle oblige la déclaration préalable de variables pour pouvoir les utiliser. Ainsi, si une variable est utilisée sans l’avoir déclaré en renseignant son type, une erreur est provoquée. Il est donc facile de connaitre les variables qui n’ont pas été déclarées ou qui ont été mal écrites, ce qui facilite la lecture du code et optimise les ressources utilisées (le type Variant utilisé par défaut nécessite plus de mémoire que les autres types).
Pour + d’infos :