Barre de progression VBA - Créer un graphique à barres de progression à l'aide du code VBA

Barre de progression Excel VBA dans Excel

La barre de progression est quelque chose qui nous montre dans quelle mesure un processus a été fait ou terminé lorsque nous exécutons de grands ensembles de codes qui nécessitent plus de temps pour s'exécuter, nous utilisons la barre de progression dans VBA pour montrer à l'utilisateur l'état du processus, ou si nous avoir plusieurs processus en cours d'exécution dans un seul code, nous utilisons la barre de progression pour montrer quel processus a progressé.

Une barre de progression indique le pourcentage de tâches terminées lorsque la tâche réelle s'exécute derrière l'écran avec un ensemble d'instructions données par le code.

Lorsque le code VBA prend un temps considérable à s'exécuter, l'utilisateur est anxieux de savoir dans quel délai il peut se terminer. Par défaut, nous devons attendre tout le temps pour terminer la tâche, mais en insérant la barre de progression, nous apprenons à connaître la progression du code VBA.

Dans presque tous les logiciels informatiques, nous voyons un graphique à barres de progression qui montre la progression de la tâche que nous exécutons, tout comme l'image ci-dessous.

Dans Excel, nous pouvons créer une barre de progression en utilisant le codage VBA. Si vous vous êtes déjà demandé comment nous pouvons créer une barre de progression, alors cet article est fait sur mesure pour vous.

Créez votre propre barre de progression

Afin de créer une barre de progression, nous devons suivre plusieurs étapes. Vous trouverez ci-dessous les étapes à suivre lors de la création du graphique à barres de progression.

Étape 1: Créez ou insérez un nouveau formulaire utilisateur.

Dès que vous cliquez sur l'option ci-dessus, vous verrez un formulaire utilisateur comme celui-ci.

Étape 2: Appuyez sur la touche F4 pour afficher la fenêtre des propriétés VBA.

Dans cet onglet de propriétés, nous devons modifier les propriétés du formulaire utilisateur VBA que nous avons inséré.

Étape 3: remplacez le nom du formulaire utilisateur par UFProgressBar.

Nous pouvons maintenant référencer ce formulaire utilisateur avec le nom «UFProgressBar» lors du codage.

Étape 4: modifiez la propriété Show Model du formulaire utilisateur sur FALSE.

Étape 5: Ajustez maintenant l'alignement de l'utilisateur en fonction de vos besoins. J'ai changé la hauteur du formulaire utilisateur à 120 et la largeur à 300.

Étape 6: modifiez la légende du formulaire utilisateur en «Barre d'état de progression».

Étape 7: Maintenant, à partir de la boîte à outils du formulaire utilisateur, insérez LABEL dans le formulaire utilisateur en haut.

Avec cette étiquette, nous devons définir les propriétés de l'étiquette. Supprimez la légende et rendez-la vide, puis ajustez la largeur de l'étiquette.

Étape 8: remplacez le nom de l'étiquette par «ProgessLabel».

Étape 9: Maintenant, à partir de la boîte à outils, prenez le cadre et dessinez juste en dessous de l'étiquette que nous avons insérée dans les étapes précédentes. Assurez-vous que le cadre est au centre du formulaire utilisateur.

Étape 10: Nous devons maintenant modifier certaines des propriétés du cadre pour qu'il ressemble exactement au formulaire utilisateur que nous avons inséré.

Propriété 1: remplacez le nom du cadre par "ProgressFrame".

Propriété 2: supprimez la légende et rendez-la vide.

Propriété 3: remplacez l'effet spécial du cadre par 6 - fmSpecialEffectBump.

Après tous ces changements, notre formulaire utilisateur devrait ressembler à ceci.

Étape 11: Maintenant, insérez une autre étiquette. Cette fois, insérez l'étiquette juste à l'intérieur du cadre que nous avons inséré.

Lors de l'insertion de l'étiquette, assurez-vous que le côté gauche de l'étiquette correspond exactement au cadre que nous avons inséré, comme indiqué dans l'image ci-dessus.

Étape 12: Après avoir inséré l'étiquette, modifiez les propriétés de l'étiquette comme suit.

Propriété 1: remplacez le nom de l'étiquette par «MainProgressLabel».

Propriété 2: supprimez la légende.

Propriété 3: Changez la couleur d'arrière-plan selon votre souhait.

Ok, maintenant nous avons terminé le processus de configuration de la barre de progression, et à ce stade, cela ressemble à ceci.

Maintenant, nous devons entrer des codes pour que cela fonctionne parfaitement.

Étape 13: Pour créer le cadre, ajoutez la macro ci-dessous dans Excel.

Code:

Sub InitUFProgressBarBar () With UFProgressBar .Bar.Width = 0 .Text.Caption = "0%" .Show vbModeless End With
Remarque: «UFProgressBar» est le nom donné au formulaire utilisateur, et «Bar» est le nom donné au cadre que nous avons créé, et «Texte» est le nom donné à l'étiquette à l'intérieur du cadre.

Maintenant, si vous exécutez ce code manuellement ou via la touche F5, nous devrions voir la barre de progression comme celle-ci.

Étape 14: Maintenant, nous devons créer une macro pour effectuer notre tâche. J'effectue la tâche d'insérer des numéros de série de 1 à 5000. Parallèlement à ce code, nous devons également configurer le diagramme à barres de progression, le. Thew code est le code sur mesure pour vous.

Code:

Sub ProgressBar_Chart () Dim i As Long Dim CurrentUFProgressBar As Double Dim UFProgressBarPercentage As Double Dim BarWidth As Long i = 1 Call InitUFProgressBarBar Do While i <= 5500 Cells (i, 1) .Value = i CurrentUFProgressBar = i / 2500 BarWidth = UFProgressBar = i / 2500 BarWidth = UFProgressBar = i / 2500 BarWidth. Border.Width * CurrentUFProgressBar UFProgressBarPercentage = Round (CurrentUFProgressBar * 100, 0) UFProgressBar.Bar.Width = BarWidth UFProgressBar.Text.Caption = UFProgressBarPercentage & "% Complet" DoEvents Endecharger i = U + 1 LoopBar Unload

Articles intéressants...