XL 2019 Imposer une virgule au lieu d'un point dans textbox; procédure ne fonctionne pas

  • Initiateur de la discussion Initiateur de la discussion donpopo
  • 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 !

donpopo

XLDnaute Occasionnel
Bonsoir le forum;
dans mon programme, j'utilise sur plusieurs textbox de différents userform la procédure ci-dessous:
VB:
'-------------------------------------------------------------
'imposer encodage de chiffres, d'une virgule pour facture eaux
'-------------------------------------------------------------
Private Sub textbox202_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii = 46 Then KeyAscii = 44
    If InStr("1234567890,", Chr(KeyAscii)) = 0 Or TextBox202.SelStart > 0 And Chr(KeyAscii) = "-" Or InStr(TextBox202.Value, ",") <> 0 And Chr(KeyAscii) = "," Then
        KeyAscii = 0: Beep
    End If
End Sub

Cela fonctionne pour tous mes textbox sauf 2 (dont celui en question dans l'exemple ci-dessus). Si je clique sur le point, celui-ci ne se convertit pas en virgule.
Je ne comprends pas très bien ce qui empêche le point d'être remplacé par une virgule.

Si quelqu'un a une idée, merci d'avance,
donpopo
 
Solution
Merci à tous trois,
je ne sais pas ce qu'il s'est passé, mais j'ai fait un copier/coller d'une procédure dans un autre userform et j'ai modifier l'index du textbox en fonction et cela fonctionne.Encore merci et
A+
re
et bien soit
VB:
Private Sub texto_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    With ActiveControl
        If KeyAscii = 46 Or KeyAscii = 44 Then KeyAscii = IIf(InStr(.Value, ",") > 0 Or Len(.Value) = 0, 0, 44)
        If Chr(KeyAscii) = "-" And Len(.Value) > 0 Then KeyAscii = 0
        If InStr(1, "0123456789,-", Chr(KeyAscii)) = 0 Then KeyAscii = 0
    End With
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    texto_KeyPress KeyAscii
End Sub

Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    texto_KeyPress KeyAscii
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
20
Affichages
2 K
Réponses
2
Affichages
1 K
Retour