Animateur qualité et informatique à votre disposition sur Lyon

Optimisation des traitements VBA pour Excel

Ne pas rafraichir l'écran: la première chose à faire pour gagner en performance sur des traitements longs qui modifient des données dans les feuilles, c'est de bloquer le rafraichissement de l'écran.
En début de traitement, insérer:


Application.ScreenUpdating = False

Il ne faut pas oublier de réactiver le rafraichissement avec de rendre la main avec:


Application.ScreenUpdating = True



Stopper le calcul automatique: Excel re-calcule automatiquement les feuilles après chaque modification de l'utilisateur ou par les macro et codes VBA. Aussi pour des traitements qui ne nécessitent pas obligatoirement un re-calcul après chaque modification, vous pouvez basculer en mode de re-calcul manuel:


Application.Calculation = xlCalculationManual

Ne pas oublier de remettre en mode de calcul automatique à l'issue:


Application.Calculation = xlCalculationAutomatic



Interdire les actions de l'utilisateur: vous pouvez indiquer à Excel de ne pas traiter (temporairement) les actions des utilisateurs. Attention à ré-activer à la fin de votre traitement!


Application.Interactive = False


Autres à manipuler avec précaution:


Application.EnableEvents = False

Application.DisplayAlerts = False


et à ré-activer après le traitement...