Simuler un masque de saisie?

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 !

pacoako

XLDnaute Occasionnel
Bonjour à tous!

Simple question, est-il possible de simuler un masque de saisie exemple qui dit à l'utilisateur d'entrer un chiffre avec des virgules et non pas des points dans la textbox??

Merci pour vos réflexions! Bonne soirée!
 
Re : Simuler un masque de saisie?

Re bonsoir pacoako,

un truc du genre ça te va ?

Code:
Private Sub textBox1_keyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not Chr(KeyAscii) Like "[0-9]" And Not Chr(KeyAscii) Like "," Then KeyAscii = 0 And MsgBox("Ce caractère est interdit !" & vbCrLf & "Seuls les chiffres et la virgule (comme séparateur numérique) sont autorisés.", vbOKOnly + vbCritical, "")
End Sub

bonne nuit
 
Re : Simuler un masque de saisie?

salut pacoako,

ci-joint un exemple: si tu places ta souris sur le textbox, un infobulle apparait (propriété Controltiptext du textbox)

dans la procédure change de ce textbox, si un caractère autre que numerique est saisi, celui-ci est effacé après qu'un Msgbox informe l'utilisateur que la saisie doit être numérique

Code:
Private Sub TextBox1_Change()
If TextBox1 <> "" Then
    If Not IsNumeric(TextBox1) Then
        MsgBox ("la saisie doit être numérique")
        If Len(TextBox1) > 1 Then TextBox1 = Left(TextBox1, Len(TextBox1) - 1) Else TextBox1 = Null
    End If
End If
End Sub

edit : Bonsoir Alexga

a+
 

Pièces jointes

Re : Simuler un masque de saisie?

Bonsoir


Une autre solution

Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If (KeyAscii > 47 And KeyAscii < 58) Or KeyAscii = 8 Or KeyAscii = 32 Then
KeyAscii = KeyAscii
Else
KeyAscii = 0
MsgBox "Seules les chiffres sont admis.", _
    vbCritical + vbOKOnly, _
    "Erreur de saisie"
End If
End Sub
 
Dernière édition:
Re : Simuler un masque de saisie?

Bonjour à tous

une autre solution, oblige à ne sairir que du numérique plus la virgule :

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

bonne journée
@+
 
- 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
14
Affichages
626
Réponses
10
Affichages
417
Réponses
18
Affichages
606
Retour