Autres Additionner et ou soustraire en direct dans un TextBox

marcelio

XLDnaute Occasionnel
Bonjour le forum,
Comme le dit le titre de ma demande, est il possible d’additionner ou de soustraire directement dans un TextBox.
J’ai des gros chiffres à ajouter ou à supprimer dans ma TextBox.
Peut-on faire.
Exemple 1 : =3598+941= cela m’affiche comme résultat 4539
Exemple 2 =3598-335= 3263
Exemple 3 =3598+941-335= 4204
Merci pour votre aide
Marcelio
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour marcelio, bonjour Robert

Je pense que marcelio désire faire une ou des opérations depuis 1 TextBox. Pour ce faire, essaie ce code :
VB:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Evaluate(TextBox1.Text)
End Sub
@+ Eric c
 

patricktoulon

XLDnaute Barbatruc
bonjour eric C
fait moi plaisir teste un eventuel textbox vide avant de l'evaluer sinon vba pas content ;)
VB:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 And TextBox1.Value <> "" Then TextBox1 = Evaluate(TextBox1.Value)
End Sub
garde l’événement exit si tu veux
 

Eric C

XLDnaute Barbatruc
Re,
Bonjour Patrick

Dans ce cas là.... mon gars (dixit Bigard), on rajoute quelques lignes de code et plus de problème -
VB:
Private Sub UserForm_Activate()
TextBox1.Value = 0
TextBox1.SelStart = 0
TextBox1.SelLength = Len(Me.TextBox1)
End Sub
@+ Eric c
 

patricktoulon

XLDnaute Barbatruc
mais non c'est a la demande exit ou keydown 13 qu'il faut agir
d'autant plus que vous avez pas penser a une éventuelle erreur de formule écrite dans le txbox car vba plantera aussi

donc
VB:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value <> "" Then
If Not IsError(Evaluate(TextBox1.Value)) Then TextBox1 = Evaluate(TextBox1.Value) Else MsgBox "la formule comporte une(des)erreur(s)"
End If
End Sub

ou

Code:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 And TextBox1.Value <> "" Then
If Not IsError(Evaluate(TextBox1.Value)) Then TextBox1 = Evaluate(TextBox1.Value) Else MsgBox "la formule comporte une(des)erreur(s)"
End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 193
Messages
2 086 059
Membres
103 110
dernier inscrit
Privé