[VB6] ProgressBar

Résolu/Fermé
Thibaut63 Messages postés 123 Date d'inscription dimanche 10 août 2008 Statut Membre Dernière intervention 27 janvier 2021 - 4 mai 2010 à 14:35
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 4 mai 2010 à 16:13
Bonjour,

j'ai un probléme avec ma progressbar qui, lorsqu'elle ce termine,bug avec comme erreur :
"
Erreur d'exécution '380':

Valeur de propriété non valide
"



Mon code :

'Affichage de la barre de progression
With ProgBarre
    .ShowBar saisie
    .Refresh
    .Label1.Caption = "Traitement en cours ..."
End With

'initialisation de la barre de progression
pourcentage = 100 / (nb)   ' nb =~ 10 000 
j = 0

Do Until f.AtEndOfStream


'des traitement ...


'on met a jour la barre de progression
    ProgBarre.ProgressBar1.Value = j * pourcentage
    j = j + 1
Loop

'on enleve la barre de progression
Unload ProgBarre




Une petite idée quelqu'un ?
Merci d'avance


A voir également:

2 réponses

Thibaut63 Messages postés 123 Date d'inscription dimanche 10 août 2008 Statut Membre Dernière intervention 27 janvier 2021 40
4 mai 2010 à 16:01
Après de multiples tentatives le probléme viendrai de mon :
"
pourcentage = 100 / nb
"

mon nb vaut 9870 exactement.
Si je tape a la calculette 100/ 9870 j'obtiens 0.01013171...
alors que dans mon programme celui ci met la valeur : 0.0102249 ... dans ma variable pourcentage !!
Ce qui fait que " ProgBarre.ProgressBar1.Value " prend une valeur supérieur à 100 avant la fin du traitement, est plante...

Si quelqu'un a une quelconque idée je suis preneur ...

PS : pourcentage est un double
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
4 mai 2010 à 16:13
Bonjour,
Peut-être en testant avant ?
Dim B as Single
'on met a jour la barre de progression
    B = j * pourcentage : if B > 100 then B=100
    ProgBarre.ProgressBar1.Value = B
    j = j + 1

Autre solution
'on met a jour la barre de progression
    ProgBarre.ProgressBar1.Value = Int(j * pourcentage)
    j = j + 1

A+
0