TextBox et Touche "Entrée"

StagiaireNul

XLDnaute Nouveau
Bonjour,

J'aimerais ajouter un évènement dans ma textbox lorsque j'appuie sur la touche "Entrée" qui vérifie si l'utilisateur n'a pas oublié de mettre le signe + ou - au début de ce qu'il a rentré.

J'ai essayé avec le code suivant :

Code:
Private Sub TextBox0_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = vbKeyReturn Then
        If Not Left(TextBox0.Value, 1) = "-" And Not Left(TextBox0.Value, 1) = "+" Then
            MsgBox ("Soit vous avez oublié de préciser l'opérateur soit il est différent de + ou - ")
        End If
    End If
End Sub

Cependant quand j'appuie sur "entrée" et que j'ai oublié de mettre le signe, rien ne se passe...

Lorsque j'affecte la même procédure à un bouton cela fonctionne pourtant :s

Merci d'avance pour votre aide.
 

jmps

Nous a quitté
Repose en paix
Re : TextBox et Touche "Entrée"

Bonjour,

Essaye plutôt KeyUp :

Code:
Private Sub TextBox0_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
        If Not Left(TextBox0.Value, 1) = "-" And Not Left(TextBox0.Value, 1) = "+" Then
            MsgBox ("Soit vous avez oublié de préciser l'opérateur soit il est différent de + ou - ")
        End If
    End If
End Sub

A l'arrache en copier/coller. A toi de tester ;)

EDIT : Corrigé le double underscore :eek:
 
Dernière édition:

jmps

Nous a quitté
Repose en paix
Re : TextBox et Touche "Entrée"

J'ai essayé avec une TextBox sur un UserForm ou directement sur une feuille Excel.
Ça fonctionne bien chez moi.
Es-tu sûr du nom de ta TextBox ?
Chez moi elle s'appelle toujours TextBox1 et pas 0 quand je la crée.
 

StagiaireNul

XLDnaute Nouveau
Re : TextBox et Touche "Entrée"

Oui c'est bien 0 c'est moi qui l'ai appelé ainsi ( j'ai une vingtaine de Textbox sur mon userform ^^)
Je t'envoi mon fichier en mp si ça ne te dérange pas d'essayer directement dessus si ça fonctionne, sinon merci quand même :)
 

jmps

Nous a quitté
Repose en paix
Re : TextBox et Touche "Entrée"

Je ne trouve pas comment mettre de piece jointe en MP, tant pis.

En tout cas merci quand même :)

Tu peux attacher ton fichier sur une de tes réponses en allant en mode avancé (bouton en bas de ton post) et en utilisant le bouton avec un trombone.
Ton fichier ne doit pas contenir de données confidentielles ni excéder une certaine taille (détails en bas de la fenêtre qui s'ouvre après avoir cliqué sur le trombone).
 

laetitia90

XLDnaute Barbatruc
Re : TextBox et Touche "Entrée"

bonsoir StagiaireNul ,jmps
enormement de méthode d'ecrire cela suivant que l'on ecris dans KeyPress KeyDown ou KeyUp ou en mixant ces evenements

a mon avis il faut traiter a la source des qu'on renseigne plus simple!!!
code basique avec KeyPress

Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
 If Len(TextBox1) < 1 Then
 If InStr("+-", Chr(KeyAscii)) = 0 Then KeyAscii = 0: MsgBox "on commence par + ou -"
 End If
 If Len(TextBox1) > 0 Then
 If InStr("0123456789,.", Chr(KeyAscii)) = 0 Then KeyAscii = 0
 End If
End Sub

que dit ce code le premier caractere ne peut être que + ou - autrement vide.... plus message
ensuite les autres caracteres ne peuvent que 0123456789,.
je traite pas que l'on peut taper plusieurs fois le points ou virgule faisable

eventuellement on peut replacer point en virgule ou inversement ect

attention au nom de ta textbox.... j'utilise textbox1
 

Discussions similaires

Statistiques des forums

Discussions
312 550
Messages
2 089 523
Membres
104 202
dernier inscrit
khaledscenic