Vous avez apprécié ?
Cliquez ;-)

Astuce VBA : réduire le temps d'exécution d'une macro

Lorsque vous utilisez une macro qui effectue un grand nombre de modifications sur votre feuille, Excel actualise l'affichage à chaque modification ce qui peut considérablement ralentir la macro ...

Pour demander à Excel de ne pas actualiser l'affichage, ajoutez ceci :

Sub exemple()

    Application.ScreenUpdating = False
   
    'Code ici ...
   
    Application.ScreenUpdating = True 'Facultatif
   
End Sub

Exemple concret de gain de temps

Le test suivant a été effectué avec la macro qui gènère le calendrier annuel de l'application Calendrier-Pratique.

Sans ScreenUpdating, le temps d'exécution était de 31.97 secondes :

avant - screenupdating

Avec ScreenUpdating, le temps d'exécution a été réduit à seulement 0.44 secondes :

apres - screenupdating

Si votre macro est un peu lente, pensez-y !