/ / Excel VBA StatusBar, propriété

Propriété Excel VBA StatusBar

le Propriété StatusBar de l'objet Application dans Excel VBA peut être utilisé pour indiquer la progression d’une longue macro. De cette façon, vous pouvez informer l'utilisateur qu'une macro est toujours en cours d'exécution.

Situation:

La macro que nous allons créer remplit la plage ("A1: E20") avec des nombres aléatoires.

Exemple de propriété Excel VBA StatusBar

Ajoutez les lignes de code suivantes au bouton de commande:

1. Premièrement, nous déclarons trois variables de type Integer, nommées i, j et pctCompl.

Dim i As Integer, j As Integer, pctCompl As Integer

2. Ajouter une double boucle.

For i = 1 To 20
    For j = 1 To 5

    Next j
Next i

Ajoutez les lignes de code suivantes (en 3, 4 et 5) à la boucle.

3. Utilisez la fonction RandBetween pour importer un nombre aléatoire compris entre 20 et 100.

Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100)

4. Initialisez la variable pctCompl. La deuxième ligne de code écrit la valeur de la variable pctCompl et du texte descriptif dans la barre d'état.

pctCompl = (i - 1) * 5 + (j * 1)
Application.StatusBar = "Importing Data.. " & pctCompl & "% Completed"

Exemple: pour i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% est terminé.

5. Nous utilisons la méthode Wait de l'objet Application pour simuler une macro longue.

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

6. Pour restaurer le texte de la barre d'état par défaut, définissez la propriété StatusBar sur False (en dehors de la boucle).

Application.StatusBar = False

Résultat lorsque vous cliquez sur le bouton de commande de la feuille:

Résultat de la propriété Excel VBA StatusBar

Remarque: vous pouvez interrompre une macro à tout moment en appuyant sur Echap ou sur Ctrl + Break. Pour une approche plus visuelle, consultez notre programme d’indicateurs de progrès.

Lisez aussi: