Progress bar [Résolu]

Messages postés
22
Date d'inscription
lundi 24 décembre 2018
Dernière intervention
11 février 2019
- - Dernière réponse : vb95
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
- 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
Afficher la suite 

Votre réponse

9 réponses

Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
60
0
Merci
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
Commenter la réponse de vb95
Messages postés
22
Date d'inscription
lundi 24 décembre 2018
Dernière intervention
11 février 2019
0
Merci
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
Commenter la réponse de totoche1748
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
60
0
Merci
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
Commenter la réponse de vb95
Messages postés
22
Date d'inscription
lundi 24 décembre 2018
Dernière intervention
11 février 2019
0
Merci
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
Commenter la réponse de totoche1748
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
60
0
Merci
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 !

vb95
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
60 -
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 ?
totoche1748
Messages postés
22
Date d'inscription
lundi 24 décembre 2018
Dernière intervention
11 février 2019
-
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
vb95
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
60 > totoche1748
Messages postés
22
Date d'inscription
lundi 24 décembre 2018
Dernière intervention
11 février 2019
-
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 !
totoche1748
Messages postés
22
Date d'inscription
lundi 24 décembre 2018
Dernière intervention
11 février 2019
-
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
vb95
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
60 > totoche1748
Messages postés
22
Date d'inscription
lundi 24 décembre 2018
Dernière intervention
11 février 2019
-
Bonjour
ET non malheureusement ton programme ne fonctionnera point avec VB Net 2017 ! C'est une autre technologie basée sur le Framework Net : il faudra tout recoder !
Pour le télécharger voir le site officiel de Microsoft et bien prendre Visual Studio pour Desktop : de plus tout dépend de ton système d'exploitation pour savoir quel version choisir ( quel Windows est installé sur ta machine ) . Il existe Visual Studio 2010, 2013, 2015 et 2017 pour les moins anciens et la version 2017 ne fonctionne pas avec windows XP par exemple
Chez moi j'ai Windows 10 Pro avec Visual Studio Community 2017 !
Bien heureux que tu as pu résoudre ton problème !
Commenter la réponse de vb95
Messages postés
16
Date d'inscription
mercredi 20 juin 2018
Dernière intervention
31 janvier 2019
0
Merci
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
vb95
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
60 -
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
vb95
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
60 > vb95
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
-
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
Commenter la réponse de LolixDudu
Messages postés
22
Date d'inscription
lundi 24 décembre 2018
Dernière intervention
11 février 2019
0
Merci
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
Commenter la réponse de totoche1748
Messages postés
22
Date d'inscription
lundi 24 décembre 2018
Dernière intervention
11 février 2019
0
Merci
bonjour
vb95 je te remercie pour toutes tes réponses
si autre problème je reviendrai vers toi surement
merci encore
vb95
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
60 -
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 !
Commenter la réponse de totoche1748
Messages postés
22
Date d'inscription
lundi 24 décembre 2018
Dernière intervention
11 février 2019
0
Merci
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
vb95
Messages postés
1794
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
14 février 2019
60 -
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
Commenter la réponse de totoche1748

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.