Désactiver la mise à jour de l'écran - Exemples de code VBA

Aussi cool que cela puisse paraître en regardant votre macro VBA manipuler l'écran, vous pouvez aider votre macro à s'exécuter plus rapidement si vous désactivez (désactivez) ScreenUpdating.

Désactiver la mise à jour de l'écran

1. Pour désactiver ScreenUpdating, au début de votre code mettez cette ligne :

1 Application.ScreenUpdating = Faux

Activer la mise à jour de l'écran

2. Pour réactiver ScreenUpdating, A la fin de votre code mettez cette ligne :

1 Application.ScreenUpdating = True

Exemple de mise à jour d'écran VBA

Votre procédure ressemblera alors à ceci :

1234567891011 Sous-écranUpdating_Example()Application.ScreenUpdating = Faux'Faire quelque chosePlage("a1").Copier la plage("b1")Plage("a2").Copier la plage("b2")Plage("a3").Copier la plage("b3")Application.ScreenUpdating = TrueFin du sous-marin

ScreenUpdating Actualiser

La désactivation de ScreenUpdating rendra votre code VBA BEAUCOUP plus rapide, mais cela rendra également votre travail plus professionnel. Les utilisateurs finaux ne veulent généralement pas voir les actions en coulisses de vos procédures (en particulier lorsque la procédure est lente). En outre, vous ne voudrez peut-être pas que les utilisateurs finaux voient la fonctionnalité en coulisse (par exemple, les feuilles de travail cachées). Je recommande de désactiver (et de réactiver) ScreenUpdating dans pratiquement toutes vos procédures.

Cependant, il y a des moments où vous souhaitez que l'écran s'actualise. Pour actualiser l'écran, vous devrez réactiver temporairement ScreenUpdating (il n'y a pas de commande d'actualisation de l'écran) :

123 Application.ScreenUpdating = True'Faire quelque choseApplication.ScreenUpdating = Faux

Paramètres VBA - Code d'accélération

Il existe plusieurs autres paramètres avec lesquels jouer pour améliorer la vitesse de votre code.

La désactivation des calculs automatiques peut faire une ÉNORME différence de vitesse :

1 Application.Calcul = xlManuel

La désactivation de la barre d'état fera également une petite différence :

1 Application.DisplayStatusBar = Faux

Si votre classeur contient des événements, vous devez généralement désactiver les événements au début de votre procédure :

1 Application.EnableEvents = False

Enfin, votre code VBA peut être ralenti lorsqu'Excel essaie de recalculer les sauts de page (Remarque : toutes les procédures ne seront pas impactées). Pour désactiver l'affichage des sauts de page, utilisez cette ligne de code :

1 ActiveSheet.DisplayPageBreaks = False

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave