cs_FASH
Messages postés52Date d'inscriptionlundi 3 novembre 2003StatutMembreDernière intervention13 mars 2006
-
19 oct. 2004 à 15:28
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 2008
-
19 oct. 2004 à 17:17
Bonjour à tous, j'ai un petit souci avec une progressBar; Pour résumer, mon programme fait une série de copier-coller de données dans Excel pour constituer un historique sur une autre feuille; La barre de progression est évaluer en fct de la dernière cellule que le programme remplit.
Mais la barre s'affiche directement à 100% au lieu de progresser en fct de l'éxécution du programme. Comment faire pour qu'elle progresse au fur et à mesure du programme??
Merci d'avance pour votre réponse.
Voici le programme
Dim nbraction As Integer
Dim nbrcellule As Integer
Load ProgressBar
With ProgressBar
.ProgressBar1.Scrolling = ccScrollingStandard
.Show False
End With
update_barre 0, "En cours..."
nbraction = 10
nbrcellule = 0
While Worksheets("test").Range("histow").Value = ""
'Cette cellule Worksheets("test").Range("histow").Value est la dernière cellule qui se remplit qd le programme principal a fini de tourner'
For nbrcellule = 1 To nbraction
nbrcellule = nbrcellule + 1
If nbrcellule Mod 1 = 0 Then
update_barre nbrcellule / nbraction * 100, "Encours " & Format(nbrcellule / nbraction, "0%") & "..."
End If
ProgressBar.ProgressBar1.Refresh
Next nbrcellule
'Ici s'exécute tout mon programme'
Wend
Unload ProgressBar
****************************************************
Private Sub update_barre(Newvalue As Single, Optional NewCaption As String)
With ProgressBar
If Not IsMissing(NewCaption) Then .Caption = NewCaption
.ProgressBar1.Value = Newvalue
If Newvalue = 0 Then .Repaint
End With