Visualbasic et listbox

cs_saul
Messages postés
12
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
26 décembre 2003
- 1 nov. 2003 à 15:24
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 1 nov. 2003 à 16:06
bonjour à tous
saul
j'ai besoin de faire un prog ou j'ai une listbox, un label et un fichier séquentiel sur mon dd avec des données du type "gants",100 "chaussettes",50 "gants", 200 , je sélectionne dans ma listbox qui contient gants , chaussettes une ligne et je veux afficher dans mon label la quantité totale 100+200 ou 50
Je n'arrive pas à fair la boucle et me dépétrer avec les variables pour qu'il passe une fois et comptabilise les 100 et une deuxième fois pour comptabiliser les 200 et surtout les rajouter au 100
Private Sub Form_Load()
lstArticle.AddItem "Gants"
lstArticle.AddItem "Chaussettes "
End Sub

Private Sub mnuCalcTot_Click()
Dim strArt As String, intQuant As Integer, i As Integer
Dim a As Integer

Open "d:\Mes Documents\Garlic\lc5.dat" For Input As #1

Do While Not EOF(1)
Input #1, strArt, intQuant
For i = 0 To 1
If lstArticle.Selected(i) Then
lblTotal.Caption = intQuant
End If
Next i
Loop
Close #1
End Sub
Je n'arrive pas à combiner pour qu'il affiche la première quantité puis la deuxème rajoutée à la première c'est pourquoi le code ci joint est incomplet
A l'avance merci

1 réponse

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
1 nov. 2003 à 16:06
Salut Saul
Si j'ai compris tes explications :
Dans une ListBox, tu as les Articles et dans un fichier, ces mêmes articles avec les quantités.
Une fois que tu as sélectionné ton article dans la ListBox, tu veux aller scruter le fichier pour sommer les quantités correspondants à cet article.

Dans ton mnuCalcTot_Click, ajoute :
Dim Cherche as String
Cherche = lstArticle.List(lstArticle.Index)
et
lblTotal.Caption = ""
Ensuite, tu gardes le Open ... et la boucle Do While, mais à l'intérieur, il faut faire :
Input ...
If strArt = Cherche then
lblTotal.Caption = Cstr(val(lblTotal.Caption) + intQuant)
Endif
Loop
Close #1

Avec ça, lblTotal.Caption aura la quantité totale des articles répondant à ce que tu cherches.
Par contre, si le texte de la ListBox et le texte de la ligne du fichier ont des orthographes diffférentes (min/maj), il ne les comptabilisera pas : je te conseille le test :
If UCase(strArt) = UCase(Cherche) then

Vala
Jack
0