Leçon 7 / 8 — Chapitre 2: Logique conditionnelle et boucles
Application.ScreenUpdating et DisplayAlerts
Une macro qui traite des centaines de lignes en modifiant l'affichage à chaque étape peut devenir visiblement lente, l'écran clignotant à chaque changement. Deux propriétés de l'objet Application accélèrent l'exécution et évitent des interruptions inutiles.
Désactiver le rafraîchissement de l'écran
Sub TraitementRapide()
Application.ScreenUpdating = False
Dim i As Integer
For i = 2 To 500
Cells(i, 1).Interior.Color = RGB(220, 230, 241)
Next i
Application.ScreenUpdating = True
MsgBox "Traitement terminé"
End Sub
Pendant que ScreenUpdating est à False, Excel continue de travailler en arrière-plan mais n'affiche plus les changements à l'écran jusqu'à la fin. Toujours remettre ScreenUpdating = True à la fin, sinon Excel reste figé visuellement même après la macro.
Désactiver les alertes de confirmation
Sub SupprimerFeuille()
Application.DisplayAlerts = False
Worksheets("Brouillon").Delete
Application.DisplayAlerts = True
End Sub
Sans cette ligne, supprimer une feuille par code déclenche quand même la boîte de dialogue de confirmation habituelle d'Excel, qui interromprait une macro censée fonctionner sans intervention humaine.
Exemple concret : une macro de nettoyage mensuel supprime automatiquement trois feuilles temporaires et reformate 300 lignes. Sans DisplayAlerts = False, la macro s'arrêterait trois fois pour attendre une confirmation manuelle.
À vous de jouer : écrivez une macro qui désactive le rafraîchissement d'écran, effectue une boucle de mise en forme sur 100 lignes, puis réactive le rafraîchissement à la fin.
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 76 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès