Empecher la saisie de LETTRES dans TextBox

  • Initiateur de la discussion Initiateur de la discussion yadla
  • Date de début Date de début

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 !

yadla

XLDnaute Occasionnel
Bonjour le forum,

J'ai dans un formulaire des Textboxes qui sont intialisés à chaque ouverture du formulaire, mais l'utilisateur peut modifier ces valeurs en double cliquant sur le TextBox. Ainsi, il peut modifier la valeur de départ.

Ce que je voudrais c'est interdire la saisie de lettres. Qu'on puisse entrer uniquement des chiffres et des "/" ou ":" parce qu'il y a des textboxes avec des dates et des heures aussi... 😛 eh, je cherche toujours au plus simple 😀

Si vous avez une idée, je vous remercie d'avance, je ne pense pas que ce soit trop compliqué ce que je demande... si 😕
 
Re : Empecher la saisie de LETTRES dans TextBox

Bonjour


Tu peux utiliser

IsNumeric

et IsDate

Ou t'inspirer de cet exemple

Private Sub TextBox1_Change()
Dim Char As String
Char = UCase(Right(TextBox1.Text, 1))
Select Case Len(TextBox1.Text)
Case 1 To 3
If Char Like "[A-Z]" Then Exit Sub
Case 4 To 6
If Char Like "#" Then Exit Sub
End Select
Beep
On Error Resume Next
TextBox1.Text = Left(TextBox1.Text, Len(TextBox1.Text) - 1)
TextBox1.SelStart = Len(TextBox1.Text)
End Sub
 
Dernière édition:
Re : Empecher la saisie de LETTRES dans TextBox

Bonjour Yadla, Spitnolan, Staple

une autre solution :

Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("0123456789:/", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

bonne fin d'après midi
@+
 
Re : Empecher la saisie de LETTRES dans TextBox

Bonsoir Pierrot, Staple, Spitnoland,

Je vous remercie tous les trois pour vos réponse ultra-rapides 😉

J'ai trouvé mon bonheur dans toutes vos suggestions.

Ce forum est vraiment génial... très contente d'en faire partie 😀
 
Bonjour,

Comment lors de la saisie du Texbox afficher le nombre du texbox1 sous le format Format(textbox1.Value, "#,##0.00")
tout respectant par exemple le code de Pierrot93
VB:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("0123456789:/", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

Merci
 
Bonjour,

Comment lors de la saisie du Texbox afficher le nombre du texbox1 sous le format Format(textbox1.Value, "#,##0.00")
tout respectant par exemple le code de Pierrot93
VB:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("0123456789:/", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

Merci
Merci beaucoup ça marche sa marche très bien
 
Bonjour
juste pour le fun
on formate dynammico au taper des touches
des que tu tape la virgule ou ENTER ou TAB
2 DECIMALES MAX
VB:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    With TextBox1
        v = Replace(.Value, " ", "")
        Select Case KeyCode
        Case 96 To 105, 48 To 57
            If KeyCode < 96 Then KeyCode = KeyCode + 48
            If InStr(1, v, ",") > 0 Then If Len(Split(v, ",")(1)) = 2 Then KeyCode = 0: Exit Sub

        Case 110, 188: KeyCode = 188
            If InStr(1, .Value, ",") > 0 Or .Value = "" Then KeyCode = 0
            v = Split(Format(v, "#,##0.00"), ",")(0)
            .Value = v & ",": KeyCode = 0

        Case 8    'ON LAISSE FAIRE LA TOUCHE BACK
        Case 13, 9
            .Value = Format(.Value, "#,##0.00")

        Case Else: KeyCode = 0    'Toutes les autres touches sont bloquées

        End Select
    End With
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

Réponses
3
Affichages
706
Réponses
1
Affichages
388
Réponses
6
Affichages
1 K
Retour