VBA – Désactiver la Mise à Jour de l’Écran
In this Article
Aussi cool que cela puisse paraître de regarder votre macro VBA manipuler l’écran, vous pouvez aider votre macro à fonctionner plus rapidement si vous désactivez la mise à jour de l’écran en utilisant l’option VBA ScreenUpdating.
Désactiver l’Actualisation de l’Écran
1. Pour désactiver la mise à jour de l’écran, au début de votre code, utilisez cette ligne :
Application.ScreenUpdating = False
Activer l’Actualisation d’Écran
2. Pour réactiver la mise à jour de l’écran, à la fin de votre code, utilisez cette ligne :
Application.ScreenUpdating = True
Exemple de Mise à Jour d’Écran en VBA
Votre procédure ressemblera alors à ceci :
Sub Exemple_MiseAJour_Ecran()
Application.ScreenUpdating = False
' Votre Code
Range("a1").Copy Range("b1")
Range("a2").Copy Range("b2")
Range("a3").Copy Range("b3")
Application.ScreenUpdating = True
End Sub
Rafraîchissement de l’Écran
En désactivant l’option ScreenUpdating, votre code VBA s’exécutera BEAUCOUP plus rapidement, mais votre travail paraîtra également plus professionnel. En général, les utilisateurs finaux ne veulent pas voir les actions en coulisses de vos procédures (surtout lorsque la procédure s’exécute lentement). De même, il se peut que vous ne souhaitiez pas que les utilisateurs finaux voient les fonctionnalités en coulisses (ex. : feuilles de travail cachées). Je recommande de désactiver (et réactiver) la mise à jour d’écran dans pratiquement toutes vos procédures.
Cependant, il arrive que vous souhaitiez que l’écran soit rafraîchi. Pour rafraîchir l’écran, vous devrez réactiver temporairement l’option ScreenUpdating (il n’y a pas de commande « rafraîchir » l’écran) :
Application.ScreenUpdating = True
'Faire quelque chose ici
Application.ScreenUpdating = False
Paramètres VBA – Accélération du Code
Il existe plusieurs autres paramètres avec lesquels vous pouvez jouer pour améliorer la vitesse de votre code.
La désactivation des calculs automatiques peut faire une énorme différence en termes de vitesse :
Application.Calculation = xlManual
La désactivation de la barre d’état peut également faire une petite différence :
Application.DisplayStatusBar = False
Si votre classeur contient des événements, vous devez généralement désactiver les événements au début de votre procédure :
Application.EnableEvents = False
Enfin, votre code VBA peut être ralenti lorsqu’Excel essaie de recalculer les sauts de page (Note : Ce ne sont pas toutes les procédures qui seront impactées). Pour désactiver l’affichage des sauts de page, utilisez cette ligne de code :
ActiveSheet.DisplayPageBreaks = False
La Programmation VBA Simplifiée
Ne cherchez plus de code VBA en ligne. Apprenez-en plus sur AutoMacro – un générateur de code VBA qui permet aux débutants de programmer leurs propres procédures avec un minimum de connaissances en programmation et avec de nombreuses fonctionnalités permettant à tous les utilisateurs de gagner du temps!
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!