La barre d’état dans Excel peut être utilisée comme moniteur de code. Lorsque votre code VBA est long et que vous effectuez plusieurs tâches à l’aide de VBA, vous désactivez souvent la mise à jour de l’écran afin de ne pas voir cet écran scintiller. Mais à cause de cela, vous ne savez pas ce qui se passe dans votre code.

Si vous ne savez pas où se trouve la barre d’état dans Excel, la voici:

unnamed

Vous pouvez utiliser une barre d’état d’Excel pour obtenir des informations d’Excel sans interférer avec l’exécution du code. Vous pouvez afficher les étapes de votre Marco sur la barre d’état ou l’utiliser comme barre de progression.

Code VBA pour afficher les messages sur la barre d’état d’Excel

Application.StatusBar = "Message"

StatusBar est une propriété de l’objet Application qui prend du texte en entrée.

Dans cet exemple, je montre simplement quelle fonction est en cours d’exécution …​

Sub DisplayMessageOnStatusBar()

Application.ScreenUpdating = False

Application.StatusBar = "Calling function one "

' call function_1

Application.Wait (Now + TimeValue("00:00:2"))

Application.StatusBar = "Calling function two"

'Call function_2

Application.Wait (Now + TimeValue("00:00:2"))

Application.StatusBar = "Calling function Three"

'Call function_3

Application.Wait (Now + TimeValue("00:00:2"))

Application.StatusBar = ""

Application.ScreenUpdating = True

End Sub

Dans cet exemple, la mise à jour de l’écran est définie sur False au début.

Maintenant, avant d’appeler la fonction_1, j’affiche un message qui appelle la fonction un.

Application.Wait (Now + TimeValue (« 00: 00: 2 »)) cette ligne de code est juste pour simuler un long appel de fonction afin que j’obtienne 2 secondes pour le voir sur ma barre d’état.

pasted image 0

Je l’ai fait avant tous les appels de fonction et à la fin, j’ai mis la barre d’état vide («»).

Les messages de la barre d’état sont très utiles pour afficher des messages tout en travaillant avec du code long. Lorsque votre code passe par plusieurs étapes ou exécute une longue boucle, vous pouvez l’afficher dans la barre d’état afin que l’utilisateur sache que le code est en cours d’exécution. Sinon, l’utilisateur peut penser que le système s’est bloqué ou quelque chose comme ça.

Vous pouvez maintenant obtenir intelligemment des informations sur la barre d’état à l’aide de VBA d’Excel 2016, 2013, 2010 et 2007 à l’aide de cette ligne unique.

VIEUX POSTE

Certains macros / codes vba mettent du temps à s’exécuter ou à exécuter les actions requises. Si vous avez désactivé la mise à jour de l’écran en utilisant la ligne Application.ScreenUpdating = False au début de votre code, alors si un utilisateur exécute le code, il ne saura pas ce qui se passe et pensera que le système informatique ne répond pas. demander au code d’afficher un message d’état sur la barre d’état afin que l’utilisateur soit informé de l’état actuel du code.

Voici un code simple qui donne une boîte de message indiquant les valeurs de la colonne A à partir de la ligne 2 à la dernière ligne. La barre d’état affichera le message «Macro en cours d’exécution» pendant que le code est en cours d’exécution, et une fois le code terminé, il affichera «Prêt» qui est l’un des messages Excel par défaut.

Option Explicit

Sub macro1()

Dim i As Long, lrow As Long

Application.ScreenUpdating = False

Application.DisplayAlerts = False

Application.DisplayStatusBar = True

With Worksheets(“Sheet1”)

lrow = .Range(“A” & .Rows.Count).End(xlUp).Row

For i = 2 to lrow

Application.StatusBar = “Macro running”

Msgbox .Range(“A” &i).Value

Next i

End With

Application.StatusBar = “”

Application.ScreenUpdating = True

Application.DisplayAlerts = True

End Sub

Pour copier le code ci-dessus dans votre fichier, * Appuyez sur Alt + F11 sur le clavier.

  • Sur le côté gauche, vous verrez des objets Microsoft Excel.

  • Faites un clic droit et sélectionnez Insérer.

  • Cliquez ensuite sur Module.

  • Copiez le code dans la fenêtre de code à droite.

Vous pouvez voir le code affiché dans le module ci-dessous –

img1

Comprenons maintenant ce que fait chaque ligne du code – Nous définissons d’abord DISPLAYSTATUSBAR sur true, puis nous définissons le message pour la barre d’état.Une fois que nous utilisons _Application.StatusBar = «  » _ à la fin du code, il reviendra à le message Excel par défaut qui est READY.

Voici une photo de la barre d’état pendant que la macro est en cours d’exécution.

img2

Une fois la macro terminée, la barre d’état s’affiche comme suit –

img3

De la même manière, vous pouvez mettre à jour la barre d’état à différentes parties du code, afin que l’utilisateur sache ce qui se passe pendant l’exécution de la macro.

Parfois, il peut y avoir une ou plusieurs macros couvrant plusieurs processus et cette barre d’état sera utile pour savoir à quel processus, la macro a atteint.

Si vous avez aimé nos blogs, partagez-les avec vos amis sur Facebook. Et vous pouvez également nous suivre sur Twitter et Facebook.

Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer, compléter ou innover notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]

Articles populaires:

lien: / clavier-formule-raccourcis-50-excel-raccourcis-pour-augmenter-votre-productivité [50 raccourcis Excel pour augmenter votre productivité]

link: / formulas-and-functions-introduction-of-vlookup-function [Comment utiliser la fonction RECHERCHEV dans Excel]

link: / tips-countif-in-microsoft-excel [Comment utiliser la fonction COUNTIF dans Excel]

link: / excel-formule-et-fonction-excel-sumif-function [Comment utiliser la fonction SUMIF dans Excel]