Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
@+
 
Re : Simuler un masque de saisie?

Bonjour
et pourquoi ne pas laisser libre la saisie : point ou virgule
et modifier dans la macro ??
UserForm1.TextBox1.Value = Replace(UserForm1.TextBox1.Value, ".", ",")
pour obtenir une virgule par default

E et F
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…