Propriété Excel VBA StatusBar - Macros Excel faciles

Table des matières

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 Range("A1:E20") avec des nombres aléatoires.

Ajoutez les lignes de code suivantes au bouton de commande :

1. Tout d'abord, nous déclarons trois variables de type Integer, nommées i, j et pctCompl.

Dim i en tant qu'entier, j en tant qu'entier, pctCompl en tant qu'entier

2. Ajoutez une double boucle.

Pour i = 1 à 20
Pour j = 1 à 5
j suivant
Ensuite je

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

3. Utilisez la fonction RandBetween pour importer un nombre aléatoire 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 = "Importation de données… " & pctCompl & "% terminé"

Exemple : pour i = 3, j = 1, (3 - 1) * 5 + (1 * 1) = 11% a été complété.

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

Application.Attendez maintenant + TimeValue("00:00:01")

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

Application.StatusBar = Faux

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

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

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave