Afficher résultat dans une TextBox
Bonjour
je souhaite afficher le résultat d'une opération
"addition/soustraction de valeur TextBox"
affiche dans "Texbox5"le résultat de
Code:
1 2 3 4 5 6 7
|
Dim sommeTB As Double, valTB As Double, result As Double
Private Sub TextBox5_Change()
sommeTB = Val(TextBox2) + Val(TextBox3) + Val(TextBox4)
valTB = Val(TextBox1)
result = valTB - sommeTB
End Sub |
en gros je souhaite que lorsque les "textbox 1,2,3,4" sont saisies
le résultat affiche instantanément dans la "textbox5"
pour poursuivre la saisie sur d'autres "textbox"
bonnes soirée
Afficher résultat dans un textbox
Bonjour
Ne serait-ce pas cela que tu cherches ?
Code:
1 2 3 4 5 6 7
|
Dim sommeTB As Double, valTB As Double, result As Double
Private Sub TextBox5_Change()
sommeTB = Val(TextBox2) + Val(TextBox3) + Val(TextBox4)
valTB = Val(TextBox1)
TextBox5.Value = valTB - sommeTB
End Sub |
Pourquoi passer par valTB et sommeTB, et ne pas faire ?
Code:
1 2 3 4 5
|
Dim sommeTB As Double, valTB As Double, result As Double
Private Sub TextBox5_Change()
TextBox5.Value = Val(TextBox1) - (Val(TextBox2) + Val(TextBox3) + Val(TextBox4))
End Sub |
Comme textbox n'accepte en principe que du texte, peut-être faut-il prévoir la conversion.
TextBox5.Value = CStr(Val(TextBox1) - (Val(TextBox2) + Val(TextBox3) + Val(TextBox4)))
Cordialement,
Afficher résultat dans un textbox
Bonjour,
Et qu'as tu trouvé comme solution ?
Pour le reste:
Il faut bien définir l'action de chaque textbox donc une sub pour chaque.
Mettre la propriété locked = true dans la textbox 5 qui reçoit le résultat afin de ne pouvoir intervenir dessus.
Que se passe-t-il si on entre une valeur négative dans textbox 1 ? Rien de particulier.
Comment l'utilisateur sait-il dans quelle textbox il entre ses données ? Mettre un label éloquent.
Cordialement,
Afficher résultat dans un textbox
Bonjour,
Dès lors que tu veux une réaction immediate les "sub change" s'imposent pour textbox2, 3 et 4 me semble-t-il.
Pour textbox1 (qui n'a pas besoin d'une sub "_change", il est inutile renvoyer au calcul.
Par ailleurs un nombre de personnes décimal, c'est dur pour la personne coupée en tranche.
Faire un contrôle (non testé):
Code:
1 2 3 4 5
|
If TextBox1 < 0 or TextBox1 <> int(TextBox1) Then
MsgBox " saisir un entier positif"
Set Focus = TextBox1
End If |
Pour textbox 5, mettre la propriété "locked" à true afin de ne pouvoir intervenir dessus.
Enfin, comment sors-tu de ton userform ?
Cordialement,