Vous êtes sur la page 1sur 5

Comment crer une Barre de progression en VBA ?

1) Ouvrez VBA

2) Cliquez sur insertion UserForm

3) Faites glissez un contrle Label sur le UserForm

Contrle Label

4) Faites glissez un contrle frame sur le UserForm et modifier sa proprit Name en FrameProgress

Contrle Frame

5) Modifiez la proprit Caption du contrle label et crivez : En cours de mise jour. Veuillez patienter...

Proprit Caption

6) Faites glisser un contrle Frame sur lUserForm

7) Faites glissez un contrle Label sur le contrle Frame 8) Modifiez la proprit Name du contrle Label et crivez LabelProgress Modifiez la proprit BackColor du contrle Label et crivez &H000000FF& Modifiez la proprit SpecialEffect du contrle Label et crivez fmSpecialEffectRaised

Nom BackColor

fmSpecialEffectRaised

9) Dans le code du UserForm vous crivez Private Sub UserForm_Activate() UserForm1.LabelProgress.Width = 0 Call Main End Sub 10) Vous crez ensuite la procdure suivante : Sub UpdateProgressBar(PctDone As Single) With UserForm1 ' Update the Caption property of the Frame control. .FrameProgress.Caption = Format(PctDone, "0%") ' Widen the Label control. .LabelProgress.Width = PctDone * _ (.FrameProgress.Width - 10) End With ' The DoEvents allows the UserForm to update. DoEvents End Sub 11) Puis vous crez la procdure suivante Sub Main() Dim PctDone As Single Sheets("Feuil1").Cells(1, 1) = 1 ' on met jour la barre PctDone = 0.1 UpdateProgressBar PctDone Sheets("Feuil1").Cells(2, 1) = 1 ' on met jour la barre PctDone = 0.25 On lance la progression de la Barre On incrmente la barre : 0.1 correspond 10% etc Code raliser

UpdateProgressBar PctDone Sheets("Feuil1").Cells(3, 1) = 1 ' on met jour la barre PctDone = 0.5 UpdateProgressBar PctDone Sheets("Feuil1").Cells(3, 1) = 1 ' on met jour la barre PctDone = 1 UpdateProgressBar PctDone 'on ferme userform1 Unload UserForm1

11) Vous lancez lUserForm1

Sub test() UserForm1.Show End Sub

Vous aimerez peut-être aussi