VBA – Désactiver la Mise à Jour de l’Écran

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on août 22, 2022

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 Turn Off On ScreenUpdating

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! vba save as


Learn More!
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA