Progress bar

Résolu
totoche1748 Messages postés 25 Date d'inscription lundi 24 décembre 2018 Statut Membre Dernière intervention 18 février 2019 - 22 janv. 2019 à 10:55
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 - 31 janv. 2019 à 13:38
Bonjour,
j ai fait un petit logiciel en vb pour répertorier mes capsules de champagne
cela marchait bien
j avais des Progress bar qui marchait
aujourd'hui j ai voulu rajouter une donnée la Progress bar est plante avec le message suivant
invalide property.value
pourquoi
quelqu un a la réponse
merci
A voir également:

9 réponses

vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
22 janv. 2019 à 18:09
bonjour !
Sans nous mettre le code ni savoir le ligne de l'erreur ni les valeurs Min et Max de le ProgressBar difficile de répondre !
Je penche pour une valeur extérieure à la plage de le ProgressBar
0
totoche1748 Messages postés 25 Date d'inscription lundi 24 décembre 2018 Statut Membre Dernière intervention 18 février 2019
Modifié le 25 janv. 2019 à 10:07
les progress bar marche sans programme juste avec les réglages des proprietes

Sub affichage(Index As Integer)
    
    Dim Exist_image As String
    
    Exist_image = Dir(App.Path & "\" & tab_capsule(Index).Numero_Capsule & ".jpg")
    'traite les photos
    If Exist_image = "" Then
        photo_capsule.Picture = LoadPicture(App.Path & "\aucun.jpg")
    Else
        photo_capsule.Picture = LoadPicture(Exist_image)
    End If
    'traite les donnees
    Nom.Text = Strings.Trim(tab_capsule(Index).Nom)
     Prenom.Text = Strings.Trim(tab_capsule(Index).Prenom)
      couleur.Text = Strings.Trim(tab_capsule(Index).couleur)
       Dessin.Text = Strings.Trim(tab_capsule(Index).Dessin)
        Numero_Capsule.Text = Strings.Trim(tab_capsule(Index).Numero_Capsule)
        village.Text = Strings.Trim(tab_capsule(Index).village)
         Cotation.Text = Strings.Trim(tab_capsule(Index).Cotation)
          totalcot.Text = Strings.Trim(tab_capsule(Index).totalcot)
         totalcaps.Text = Strings.Trim(tab_capsule(Index).totalcaps)
         lambert1.Text = Strings.Trim(tab_capsule(Index).lambert1)

         
 Liste_capsule.Text = (Numero_Capsule) & " | " & (Nom.Text) & "  " & (Prenom.Text) & "  " & (couleur.Text) & " " & (Dessin.Text) & "  " & (village.Text) & " | " & (Cotation.Text)
 List2.Clear
   capsule_en_cours = Index
    
    If capsule_en_cours = 1 Then
       Btn_premier.Enabled = False
       Btn_precedent.Enabled = False
    Else
       Btn_premier.Enabled = True
       Btn_precedent.Enabled = True
       End If
       
    If capsule_en_cours = dernier_capsule Then
       Btn_suivant.Enabled = False
       Btn_dernier.Enabled = False
    Else
        Btn_suivant.Enabled = True
        Btn_dernier.Enabled = True
        
       
        
        End If
         'traite affichage liste_capsule & liste_capsule2
     
        Liste_capsule2.Text = (Numero_Capsule.Text) & " | " & (Nom.Text) & " " & (Prenom.Text)
        Liste_capsule.Text = (Numero_Capsule) & " | " & (Nom.Text) & "  " & (Prenom.Text) & "  " & (couleur.Text) & " " & (Dessin.Text) & "  " & (village.Text)
        
        
        'traite affichage list2
  Dim y As Integer
  Dim a As Double
   Dim x As Integer
    For x = 1 To dernier_capsule
    Liste_capsule2.AddItem (tab_capsule(x).Numero_Capsule)
    List2.AddItem (tab_capsule(x).Numero_Capsule) & " = " & " " & (tab_capsule(x).Cotation)
     
     'traite affichage la valeur totale
     List3.Clear
   Next
   For x = 1 To dernier_capsule
   List3.AddItem Strings.Trim(tab_capsule(x).Cotation)
   Next
   a = 0
   
For y = 0 To List3.ListCount - 1
  
If IsNumeric(List3.List(y)) Then
   a = a + List3.List(y)
 totalcot.Text = a
   
   End If
totalcaps = dernier_capsule
  
   ProgressBar1.Value = totalcaps
 ProgressBar2.Value = totalcot

Next

End Sub
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
23 janv. 2019 à 17:20
Bonsoir !
Plusieurs choses
1) Le code n'est pas corrctement présenté : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
2) A quoi correspond index à l'appel de la fonction ? Je le devine mais je te laisse répondre
3) Tu dis que les Progressbar ne sont pas par programme : c'est quoi les lignes à la fin avec Progress.Value ?
4) si tu n'affiches que les caractéristiques d'une capsule quelle est l'utilité des Progressbar ?
5) commentes ton code et donnes des noms révélateur à tes contrôles : ListBouchons est plus parlant que List3 par exemple
0
totoche1748 Messages postés 25 Date d'inscription lundi 24 décembre 2018 Statut Membre Dernière intervention 18 février 2019
24 janv. 2019 à 08:59
peut etre mal ecrit mais je suis pas un expert en programmation
les progress bar servent a indiquer le nombre total de capsules dans mon programme
ainsi que la valeur total de mes capsules juste pour le fun
je programme sans avoir pris des lecons juste avec les conseils d un ex collegue quand je travaille
je suis maintenant a la retraite est n est plus de contact avec lui
j essai de me débrouillait seul
excuse moi oui a la fin du programme il y a 2 lignes de programme pour les progress barcela marchait bien puisque j ai rentre 3600 capsules
soudain une erreur pourquoi
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
24 janv. 2019 à 13:22
Bonjour !
Tu as écrit : les progress bar servent a indiquer le nombre total de capsules dans mon programme
ainsi que la valeur total de mes capsules juste pour le fun

Donc dans ce cas elles sont inutiles : le rôle d'une ProgressBar est de voir l'évolution d'un traitement , un simple Label te renseignerait aussi bien !
As-tu été voir le lien que je t'ai indiqué pour la présentation du code ?
Pour ton information moi aussi je suis retraité et j'ai appris VB 6, VB Net et maintenant C# en suivant les conseils que des intervenants du site m'ont prodigués !
Enlèves les 2 ProgressBar et corriges les erreurs dues à leur suppression : à mon avis cela va résoudre ton problème !

0
totoche1748 Messages postés 25 Date d'inscription lundi 24 décembre 2018 Statut Membre Dernière intervention 18 février 2019
25 janv. 2019 à 09:47
mais Progress bar sont peut être inutile mais je les ai mis pour apprendre
oui je suis allez voir ton le lien mais je ne comprend pas ce qu'est une balise jamais entendu parle
mon programme est peut être mal écrit mais comme je te l'explique je suis un novice qui ce débrouille
enlever les Progress bar est une solution mais cela ne me dit pas pourquoi elles ont marchées jusque maintenant et que soudain elles bloquent le programme je ne sais pourquoi
si tu est a la retraite et que tu arrive a programmer cela est tout a ton honneur est alors bravo
cela n est pas grave je continue a chercher
je les ai enlevées cela corrige le problème mais ne le ressoudera pas
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 25 janv. 2019 à 15:55
Bonjour !
voici ce qu'est une balise

tu as une balise d'ouverture et une balise de fermeture
Selon le langage tu as des balises pour le basic, le C#, le pascal, etc .....
Reste à faire un copier-coller du code que tu veux insérer entre les balises
Cela te permet de déposer un bout de code de façon plus clair et plus lisible
Remarque aux niveau des boucles For Next et des If-Then-Else le décalage pour bien identifier le corps de la boucle ou les blocs conditiionnels

Sub affichage(Index As Integer)
    
    Dim Exist_image As String
    Exist_image = Dir(App.Path & "\" & tab_capsule(Index).Numero_Capsule & ".jpg")
    'traite les photos
    If Exist_image = "" Then
        photo_capsule.Picture = LoadPicture(App.Path & "\aucun.jpg")
    Else
        photo_capsule.Picture = LoadPicture(Exist_image)
    End If
    'traite les donnees
    Nom.Text = Strings.Trim(tab_capsule(Index).Nom)
    Prenom.Text = Strings.Trim(tab_capsule(Index).Prenom)
    couleur.Text = Strings.Trim(tab_capsule(Index).couleur)
    Dessin.Text = Strings.Trim(tab_capsule(Index).Dessin)
    Numero_Capsule.Text = Strings.Trim(tab_capsule(Index).Numero_Capsule)
    village.Text = Strings.Trim(tab_capsule(Index).village)
    Cotation.Text = Strings.Trim(tab_capsule(Index).Cotation)
    totalcot.Text = Strings.Trim(tab_capsule(Index).totalcot)
    totalcaps.Text = Strings.Trim(tab_capsule(Index).totalcaps)
    lambert1.Text = Strings.Trim(tab_capsule(Index).lambert1)
    Liste_capsule.Text = (Numero_Capsule) & " | " & (Nom.Text) & "  " & (Prenom.Text) & "  " & (couleur.Text) & " " & (Dessin.Text) & "  " & (village.Text) & " | " & (Cotation.Text)
    List2.Clear
   capsule_en_cours = Index
   If capsule_en_cours = 1 Then
          Btn_premier.Enabled = False
          Btn_precedent.Enabled = False
   Else
         Btn_premier.Enabled = True
         Btn_precedent.Enabled = True
   End If
   If capsule_en_cours = dernier_capsule Then
        Btn_suivant.Enabled = False
        Btn_dernier.Enabled = False
   Else
        Btn_suivant.Enabled = True
        Btn_dernier.Enabled = True
    End If
   ' traite affichage liste_capsule & liste_capsule2
   Liste_capsule2.Text = (Numero_Capsule.Text) & " | " & (Nom.Text) & " " & (Prenom.Text)
   Liste_capsule.Text = (Numero_Capsule) & " | " & (Nom.Text) & "  " & (Prenom.Text) & "  " & (couleur.Text) & " " & (Dessin.Text) & "  " & (village.Text)
    'traite affichage list2
  Dim y As Integer
  Dim a As Double
  Dim x As Integer
  For x = 1 To dernier_capsule
      Liste_capsule2.AddItem (tab_capsule(x).Numero_Capsule)
      List2.AddItem (tab_capsule(x).Numero_Capsule) & " = " & " " & (tab_capsule(x).Cotation)
  Next   
  'traite affichage la valeur totale
  List3.Clear
  For x = 1 To dernier_capsule
       List3.AddItem Strings.Trim(tab_capsule(x).Cotation)
  Next
  a = 0
  For y = 0 To List3.ListCount - 1
      If IsNumeric(List3.List(y)) Then
          a = a + List3.List(y)
          totalcot.Text = a
     End If
     totalcaps = dernier_capsule
     ProgressBar1.Value = totalcaps
     ProgressBar2.Value = totalcot 
 Next

End Sub


Maintenant autre chose : sais-tu te servir du débogage pour identifier les erreurs et utiliser les points d'arrêt dans un programme ?
0
totoche1748 Messages postés 25 Date d'inscription lundi 24 décembre 2018 Statut Membre Dernière intervention 18 février 2019
26 janv. 2019 à 10:08
bonjour
merci de me répondre et de me faire cet exemple mais le code que tu as écrit ressemble au mien sans les espaces entre les lignes de code
oui j'essai l'aide mais ne comprend toujours les explications si cela est en anglais je suis nul
mais je ne sais toujours pas pourquoi ma Progress bar c'est plante
encore merci pour tes réponses
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > totoche1748 Messages postés 25 Date d'inscription lundi 24 décembre 2018 Statut Membre Dernière intervention 18 février 2019
27 janv. 2019 à 16:53
Bonjour !
Oui le code ressemble au tien mais
1) il a été indenté ( Remarque aux niveau des boucles For Next et des If-Then-Else le décalage pour bien identifier le corps de la boucle ou les blocs conditionnels )
2) Regarde les couleurs qui permettent d'identifier les mots clés, les chaines de caractères, etc ....
Quant à t'aider plus difficile pour moi : je n'ai plus VB 6 depuis facilement 10 ans et il n'est plus commercialisé depuis 1998 ! De plus la technologie a évoluée et maintenant on en est à VB Net 2017 qui est largement plus performant !
0
totoche1748 Messages postés 25 Date d'inscription lundi 24 décembre 2018 Statut Membre Dernière intervention 18 février 2019
28 janv. 2019 à 08:06
ok merci
ou peut on telecharger vb 2017
mon programme marchera t il avec cette nouvelle mouture
encore merci
ps apres avoir suivi tes conseils mais progress bar remarche
merci
0
LolixDudu Messages postés 43 Date d'inscription mercredi 20 juin 2018 Statut Membre Dernière intervention 13 avril 2019
29 janv. 2019 à 09:25
la valeur que tu rentres dans ta progress bar ne doit pas t elle dépasser 100 ? je sais qu'en C# la valeur de la progress bar vas de 0 a 100 car c'est un pourcentage
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
29 janv. 2019 à 17:10
Bonjour !
Eh oui dire bonjour c'est plus agréable !
De plus tu fais une erreur : 100 est la valeur Maximum par défaut de la ProgressBar comme la valeur 0 est la valeur minimum par défaut et la valeur de progression n'est nullement un pourcentage .
Rien ne m'empêche d'avoir une ProgressBar de 100 à 1500 par exemple
Et ceci est valable en VB 6, VB Net et C#
Ne confonds-tu pas avec les BackGroundWorker où la propriété ReportProgress va de 0 à 100 et que dans ce cas la ProgressBar que l'on associe si besoin doit aller obligatoirement de 0 à 100
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024
Modifié le 29 janv. 2019 à 18:33
Pardon c'est l'évènement ProgressChanged qui renvoie une valeur entre 0 et 100 qui représente le pourcentage de la plage de valeurs de la progression du BackGround
Il faut évidemment que cet évènement soit activé ( mettre à True la propriété WorkerReportsProgree du contrôle BackGroundWorker )
la propriété ReportProgress n'existe pas
0
totoche1748 Messages postés 25 Date d'inscription lundi 24 décembre 2018 Statut Membre Dernière intervention 18 février 2019
29 janv. 2019 à 09:41
non moi j ai rentrer 25000 et cela marche
oui c est un pourcentage mais on peut avoir un pourcentage de 25000
merci pour la reponse
0
totoche1748 Messages postés 25 Date d'inscription lundi 24 décembre 2018 Statut Membre Dernière intervention 18 février 2019
30 janv. 2019 à 08:21
bonjour
vb95 je te remercie pour toutes tes réponses
si autre problème je reviendrai vers toi surement
merci encore
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
30 janv. 2019 à 16:31
Bonjour totoche1748
si tu penses que ton problème est résolu cliques dans la roue dentée en haut à droite du message pour mettre le sujet en Résolu .
Merci !
0
totoche1748 Messages postés 25 Date d'inscription lundi 24 décembre 2018 Statut Membre Dernière intervention 18 février 2019
31 janv. 2019 à 08:54
bonjour
fausse alerte après avoir rentre plusieurs données le problème est revenu
donc suppression total des Progress bar comme tu me l avait suggéré
encore merci
Ps comment faire un tri décroissant
dans une List box sans devoir ajouter des 1 ou 2 (0) devant chaque chiffre
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
31 janv. 2019 à 13:38
Bonjour !
1) Penses à mettre en résolu ce post ( voir mon message précédent )
2) Pour le Ps une règle de ce forum = nouveau sujet nouveau post à créer !
Cela permet à quelqu'un qui aurait le même problème que toi de trouver aussi la solution
Merci
0
Rejoignez-nous