probleme d'addition avec Visual Basic 6 - VB/VBA/VBS - Programmation
Marsh Posté le 29-09-2004 à 12:20:03
normal que ça te fasse un &, les textbox contiennent des données de type texte, tu dois donc les convertir en données numériques via les fonctions Cxxx (Clng, Cdbl, etc...)
Marsh Posté le 29-09-2004 à 13:09:44
ok merci
je vais essayer
Marsh Posté le 29-09-2004 à 14:43:05
ca y est j'ai réglé mon problème en faite je fait ca en plus de travail (je suis admin réseau) et j'avait pas encore lut la suite du livre dsl pour le dérangement
voici la parti du code qui va bien (si ca interesse quelqu'un)
Private Sub cmdCalc_Click()
lblTpatins.Caption = Val(txtBleu.Text) + Val(txtJaune)
lblPtotal.Caption = Val(lblTpatins.Caption) * Val(txtPrix.Text) * (1 + Val(txtTaux.Text) / 100)
lblPtotal.Caption = Format(lblPtotal.Caption, "currency" )
cmdImprimer.SetFocus
End Sub
il faut utiliser la fonction val ()
voila @++
Marsh Posté le 30-09-2004 à 16:32:43
La fonction val() permet de convertir une expression en valeur numérique à partir des paramètres régionaux de la machine. Ainsi Val(2,3) ne marche pas sur une machine ou le séparateur décimal est le point par contre Val(2.3) oui.
Les fonctions de conversion Cxxx elles ne tiennent pas compte des paramètres regionaux et sont basées sur le séparateur décimal point et aucun séparateur de milliers.
Marsh Posté le 29-09-2004 à 10:57:25
bon voila pour commencer
Private Sub cmdCalc_Click()
lblTpatins.Caption = txtBleu.Text + txtJaune.Text
cmdImprimer.SetFocus
End Sub
je suis débutant et j'ai acquis le livre "visual basic 6" de chez Grosoft ainsi que le logiciel qui va avec
je suis en train de suivre le 2eme cours du livre (pour ceux qui connaissent) qui me propose de calculer le prix de patins a roulette.
le probleme c'est que en tapant le code ci-dessus, pour le bouton effectuant le calcul, au lieu de me faire une addition il me fait un "et" (and ou &)
j'explique dans mes cases "txtbleu" et "txtjaune" je met des chiffres (exemple 2 et 3) au lieu de me calculer le résultat (ici 5) et de me l'afficher dans "lblTpatins" il m'affiche "23"
j'ai fait le test avec exactement le meme code mais a la place d'une addition je lui est fait faire
une soustraction (2-3 = -1)
une division (2/3 = 0.66666....)
une multiplication (2*3 = 6)
et a chaque fois ca a très bien fonctionné alors pourquoi quand je met un "+" le résultat est 23 au lieu de 5 ????
mici @++