ProgressBar

Le
RomainCHY
Bonjour à tous,
En cliquant sur un bouton CommandButton1 d'un userform, on déclenche une
série de procédure. C'est assez long et pour améliorer l'aspect visuel du
programme, je voudrais qu'une barre de progression reflète l'avancement des
prodécures.
Il n'y a pas de macro, simplement un nombre important d'éléments qui
s'exécutent.

Quelqu'un peut-il m'aider?
Merci d'avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4498131
Bonjour,

Onglet Barre Attente:

http://boisgontierjacques.free.fr/fichiers/jb-formulaire.zip

Cordialement JB

On 4 mai, 09:22, RomainCHY
Bonjour à tous,
En cliquant sur un bouton CommandButton1 d'un userform, on déclenche une
série de procédure. C'est assez long et pour améliorer l'aspect vis uel du
programme, je voudrais qu'une barre de progression reflète l'avancement des
prodécures.
Il n'y a pas de macro, simplement un nombre important d'éléments qui
s'exécutent.

Quelqu'un peut-il m'aider?
Merci d'avance.


RomainCHY
Le #4498111
JB, je pense que ton formulaire peut répondre à ma question, mais étant
débutant, je ne comprend pas vraiment ce que je dois faire avec...
Je dois le placer dans un nouvel userform?
J'ai essayé en le mettant dans ma liste de procédures... mais ça ne marche
pas.. normal! ;)
RomainCHY
Le #4497731
Quelqu'un pourrait-il plus développer comment faire une barre de progression
pour montrer l'évolution de la procédure?

Merci d'avance aux teachers..
lSteph
Le #4497471
Bonjour,

Voici un exemple artisanal(avec une frame et un label dans un
userform),
inspiré si mes souvenirs sont bons de JWalk, si c'est en autre qu'il
me pardonne et en soit tout aussi remercié.

http://cjoint.com/?ferOccfCSu

LSteph

''''''dans module standard'''''''''''
Option Explicit

Sub Main()
' Inserts random numbers on the active worksheet
Dim Counter As Long
Dim RowMax As Long, ColMax As Byte
Dim r As Long, c As Long
Dim PctDone As Single

If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
Cells.Clear
Application.ScreenUpdating = False
Counter = 1
RowMax = 10000
ColMax = 25
For r = 1 To RowMax
For c = 1 To ColMax
Cells(r, c) = Int(Rnd * 1000)
Counter = Counter + 1
Next c
PctDone = Counter / (RowMax * ColMax)
With UserForm1
If r Mod 5 = 0 Then .Frame1progress.Caption = "Exécuté: "
& Format(PctDone, "0.00%")
.Labelprogress.Width = PctDone * (.Frame1progress.Width -
10)
End With
' The DoEvents statement is responsible for the form updating
DoEvents
Next r
Unload UserForm1

End Sub
''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''dans
userform''''''''''''''''''''''''''''''''''''
Private Sub UserForm_activate()
Call Main
End Sub






On 4 mai, 09:22, RomainCHY
Bonjour à tous,
En cliquant sur un bouton CommandButton1 d'un userform, on déclenche une
série de procédure. C'est assez long et pour améliorer l'aspect vis uel du
programme, je voudrais qu'une barre de progression reflète l'avancement des
prodécures.
Il n'y a pas de macro, simplement un nombre important d'éléments qui
s'exécutent.

Quelqu'un peut-il m'aider?
Merci d'avance.


Misange
Le #4497221
tu trouveras plusieurs explications avec exemples à télécharger sur
cette page :
http://www.excelabo.net/excel/tempoprogression.php
bonne pioche !

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Quelqu'un pourrait-il plus développer comment faire une barre de progression
pour montrer l'évolution de la procédure?

Merci d'avance aux teachers..


Modeste
Le #4497141
Bonsour® RomainCHY avec ferveur ;o))) vous nous disiez :

Bonjour à tous,
En cliquant sur un bouton CommandButton1 d'un userform, on déclenche une
série de procédure. C'est assez long et pour améliorer l'aspect visuel du
programme, je voudrais qu'une barre de progression reflète l'avancement des
prodécures.
Il n'y a pas de macro, simplement un nombre important d'éléments qui
s'exécutent.

Quelqu'un peut-il m'aider?
Merci d'avance.


voir
http://www.excelabo.net/excel/tempoprogression.php#progressbarexcel
http://www.bmsltd.ie/DLCount/DLCount.asp?file=WksPrgrs.zip
http://www.andypope.info/vba/pmeter.htm
dans le cas de processus enchainés voir aussi :
http://www.dailydoseofexcel.com/archives/2007/02/10/yet-another-progress-bar/


--
--
@+
;o)))

JB
Le #4496311
Bonjour,

Exemple avec Shape:

http://boisgontierjacques.free.fr/fichiers/Images/ShapeAttente.xls

ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10,
70, 12).Select
Selection.Name = "cadre"
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10,
20, 12).Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13
Selection.Name = "attente"
ActiveSheet.Shapes("attente").TextFrame.Characters.Text = "0%"
DoEvents
'-- Ton 1er Traitement
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10,
70, 12).Select
Selection.Name = "cadre"
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 10, 10,
20, 12).Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 13
Selection.Name = "attente"
ActiveSheet.Shapes("attente").TextFrame.Characters.Text = "0%"
DoEvents
'-- traitement1
For a = 1 To 100000000: Next a ' simulation traitement
ActiveSheet.Shapes("attente").TextFrame.Characters.Text = "20%"
ActiveSheet.Shapes("attente").Width = 30
DoEvents
'-- traitement2
For a = 1 To 100000000: Next a 'simulation traitement
ActiveSheet.Shapes("attente").TextFrame.Characters.Text = "40%"
ActiveSheet.Shapes("attente").Width = 40
DoEvents
......
......

JB

On 4 mai, 10:17, RomainCHY
JB, je pense que ton formulaire peut répondre à ma question, mais é tant
débutant, je ne comprend pas vraiment ce que je dois faire avec...
Je dois le placer dans un nouvel userform?
J'ai essayé en le mettant dans ma liste de procédures... mais ça ne marche
pas.. normal! ;)


RomainCHY
Le #4495491
C'est sympa à vous tous d'avoir répondu à mon appel... mais je pense être
trop débutant pour faire ça.. une prochaine fois sans doute.
Mais copier/coller des trucs sans les comprendre, ça me tente pas et ça
marche pas ;)

Merci encore à tous
Publicité
Poster une réponse
Anonyme