Problème calcul dans nouveau textbox [VB] - Programmation
Marsh Posté le 09-01-2002 à 13:58:16
Le probème est de savoir "comment la machine peut savoir que la saisie des nombres est terminée". Quand question a une solution, ça devient limpide...
Un moyen est de "changer de champ" : si on fait TAB pour passer au champ suivant, ou on clique ailleurs, l'évènement LostFocus peut être utilisé (de mémoire d'ancien). Faut vérifier si l'autre champ a été renseigné.
En gérant les caractères tapés au fur et à mesure, on peut même afficher dans le troisième texte le résultat "live".
2 1 => 2
2 1, => 2
2 1,5 => 3,0
2 1,51 => 3,02
2, 1,51 => 3,02
2,4 1,51 => 3,624
NB : les virgules, c'est frenchy, mais les points, c'est généralement plus sûr pour les valeurs numériques.
Marsh Posté le 09-01-2002 à 13:58:24
En double cliquant sur tes textbox tu accèdes au code VB et là tu cherches l'évènement 'Validate' (ça peut marcher avec 'Change' mais c'est pas trop le pb).
Dans cet évènement tu lances une fonction VB qui
1/ vérifie que les deux textbox sont remplies (if textbox1 <> "" and textbox2 <> "" then...)
2/ calcule la troisième ( textbox3 = textbox1 * textbox2)
Bon je t'ai donné ici un exemple d'ordre général. A toi de l'adapter ou de demander des précisions.
A+
Marsh Posté le 09-01-2002 à 14:17:20
En fait, lorsque je rentre un nombre dans les deux textboxs, la troisième (Résultat) reste vide.
Mais lorsque je la sélectionne et que je tape n'importe quoi il me fait le calcul.
Voici mon code :
Private Sub txtcalculvoiture_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtcalculvoiture.TextChanged
Dim montantvoiture As Single
Dim puissancefiscal As Single
Dim km As Single
km = txtkm.Text
puissancefiscal = txtcv.Text
'Calcul
montantvoiture = km * puissancefiscal
txtcalculvoiture.Text = montantvoiture
End Sub
Marsh Posté le 09-01-2002 à 14:24:19
lordkatarn a écrit a écrit : En fait, lorsque je rentre un nombre dans les deux textboxs, la troisième (Résultat) reste vide. Mais lorsque je la sélectionne et que je tape n'importe quoi il me fait le calcul. Voici mon code : Private Sub txtcalculvoiture_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtcalculvoiture.TextChanged Dim montantvoiture As Single Dim puissancefiscal As Single Dim km As Single km = txtkm.Text puissancefiscal = txtcv.Text 'Calcul montantvoiture = km * puissancefiscal txtcalculvoiture.Text = montantvoiture End Sub |
c normal tu t trompé d'évenement
prend plutot txtkm_change et txtcv_change
là ta procèdure se lance au change du txtcalculvoiture donc c normal kil fasse le traitement ke kan tu change la valeur de ce textbox
Marsh Posté le 09-01-2002 à 14:25:26
private sub txtkm_change
'calcul en faisant txtkm * txtcv
...
end sub
private sub txtcv_change
'calcul en faisant txtkm * txtcv
...
end sub
Marsh Posté le 09-01-2002 à 14:32:30
super ça marche
mille merci
donc il fallait mettre dans les deux textbox, le calcul.
ok
merci encore
Marsh Posté le 09-01-2002 à 13:34:58
Hello, faut m'excuser car je suis vraiment un newbie. Mais alors vraiment ....
Bref, je fais un calcul bête dans 2 textbox, cad que je rentre un chiffre dans une textbox puis un autre dans l'autre textbox .
Le calcul de ces deux txt me donne le résultat dans une troisième text. Le problème c'est que je ne trouve pas comment faire. (en fait je n'utilise pas de bouton pour valider le calcul). Ce que je veux c'est que lorsque les deux txt sont rempli il m'execute le calcul.
Comment on fait svp !!!!!
Merci merci merci d'avance