[VB6] ProgressBar

Résolu
Thibaut63 Messages postés 143 Statut Membre -  
lermite222 Messages postés 9042 Statut Contributeur -
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



--
Dans tout les tiek's ca chuchotte

2 réponses

  1. Thibaut63 Messages postés 143 Statut Membre 41
     
    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
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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