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