Autres Additionner et ou soustraire en direct dans un TextBox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour