Débutante additonner le prix d'une liste

kat40 Messages postés 38 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 19 mars 2008 - 22 mars 2005 à 16:45
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 - 23 mars 2005 à 02:11
Je suis étudiante et j'ai une petite application à faire (sans utiliser une base de données). Je dois calculer le prix total (dans un text box) d'aliments . Les aliments sont dans un list box.

Voici mon code:

Private Sub form_load()
list1.AddItem "Bananes"
list1.AddItem "Lait"
End Sub


Private Sub CmdCalculerPrix_Click()
Dim bananes As Integer
Dim lait As Integer
Dim Variable3 As Integer



bananes = 10
lait = 2


Variable3 = Val(list1)


Text1.Text = Variable3


End Sub


Mon problème et lors du calcul de varialbe3 (comment dois-je dire de calculer le prix des aliments dans ma list1)?

ketaineMim

7 réponses

NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
22 mars 2005 à 17:08
Je te propose :

{public | private} type TAliment 'Private : accessible uniquement dans le module
Nom as string

Prix as {long | single} 'single, est un nbà virgule flottante

End type



Sub Calcul()

dim Tableau(0 to 1) as TAliment 'définit 2 éléments dans ton tableau

Tableau(0).Nom="Bananes"

Tableau(0).Prix=10

Tableau(1).Nom="Lait"

Tableau(1).Prix=2





dim i as long

dim j as long

dim Resultat as {long | single}

for i=0 to ListBox.listcount-1

for j=lbound(Tableau) to ubound(Tableau)

if ListBoc.list(i)=Tableau(j).Nom then

Resultat=resultat+Tableau(j).prix

Exit For

end if

next

next





Dans Resultat tu a le prix total.


Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)



NH
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
22 mars 2005 à 17:22
Ou tu modifie simplement ton code comme ceci.

Private Sub form_load()
List1.AddItem "Bananes"
List1.AddItem "Lait"
End Sub


Private Sub CmdCalculerPrix_Click()
Dim bananes As Integer
Dim lait As Integer
Dim Variable3 As Integer



bananes = 10
lait = 2


Variable3 = bananes + lait
Text1.Text = Variable3


End Sub

jpleroisse
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
22 mars 2005 à 17:54
Désolé, il y a surement quelquechose que je n'ai pas compris. Ta List1 contient le nom des aliments mais où se trouvent le nombre d'unités et le prix à l'unité ?

Loup Gris
0
kat40 Messages postés 38 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 19 mars 2008
22 mars 2005 à 22:11
C'est ça je ne sais pas comment faire pour le prix unitaire.

Kat40
0

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

Posez votre question
kat40 Messages postés 38 Date d'inscription mardi 3 février 2004 Statut Membre Dernière intervention 19 mars 2008
22 mars 2005 à 23:00
J'ai fait ce que monsieur NHenry me propose et ça ne fonctionne pas on dirait que

Public type TAliment n'ai pas reconnu ...J'utiliser VB6 c'est peut-être le problème..

Voici ce que j'ai fait:

[code]

Private} type TAliment Nom as string
Prix as long
End type

Sub Calcul()
dim Tableau(0 to 1) as TAliment Tableau(0).Nom="Bananes"
Tableau(0).Prix=10
Tableau(1).Nom="Lait"
Tableau(1).Prix=2


dim i as long
dim j as long
dim Resultat as {long | single}
for i=0 to List1.listcount-1
for j=lbound(Tableau) to ubound(Tableau)
if List1.list(i)=Tableau(j).Nom then
Resultat=resultat+Tableau(j).prix
Exit For
end if
next
next

End sub

Y a surement quelque chose que je ne fais pas correctement

ketainemim

Kat40
0
radcur Messages postés 282 Date d'inscription lundi 29 septembre 2003 Statut Membre Dernière intervention 15 août 2012 2
23 mars 2005 à 00:47
il faut faire soit :

Private type TAliment

Nom as string
Prix as long
End type


ou

Public type TAliment

Nom as string
Prix as long
End type
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
23 mars 2005 à 02:11
Crée une base de données Access avec 2 champs Aliments et Prix
Dans le champ Aliments tu mets tes produits( Bananes, Poires ect...) et les prix dans le champ Prix
Dans le fichier Projet / Références, tu coches Microsoft Activex Data Objects 2.5 Library et Microsoft DAO 3.6 Object Library (2.0 et 3.51 sous Win98)

Tu place un ListBox, un TextBox sur ton formulaire.

Lorsque tu sélectionne un article dans la listBox, le prix s'affiche dans le textBox.

Private Sub Form_Activate()
Dim adoConnection As ADODB.Connection
Dim adoRecordSet As ADODB.Recordset
Set adoConnection = New ADODB.Connection
Set adoRecordSet = New ADODB.Recordset
Dim ConnectionString As String


ConnectionString "Provider Microsoft.Jet.OLEDB.3.51;" & " Data Source = C:\Program files\Microsoft visual studio\vb98\moi.mdb"
adoConnection.Open ConnectionString
adoRecordSet.Open "Lui", adoConnection


Do Until adoRecordSet.EOF
List1.AddItem adoRecordSet!Aliments
List1.ItemData(List1.NewIndex) = adoRecordSet!Prix
adoRecordSet.MoveNext
Loop


adoRecordSet.Close
adoConnection.Close
Set adoConnection = Nothing
Set adoRecordSet = Nothing
End Sub


Private Sub List1_Click()
Dim msg As String
msg = List1.ItemData(List1.ListIndex) & ""
Text1 = msg


End Sub

jpleroisse
0
Rejoignez-nous