XL 2010 Restriction Textbox nombre

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 !

TheProdigy

XLDnaute Impliqué
Bonjour tout le monde,

J'ai trouvé un code sur Net pour restreindre la saisie à nombre dans un textbox
VB:
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If KeyAscii > Asc("9") Or KeyAscii < Asc("0") Then
        If KeyAscii = Asc("-") Then
            If InStr(1, Me.TextBox3.Text, "-") > 0 Or _
               Me.TextBox4.SelStart > 0 Then KeyAscii = 0
        ElseIf KeyAscii = Asc(".") Then
            If InStr(1, Me.TextBox4.Text, ".") > 0 Then KeyAscii = 0
        Else
            KeyAscii = 0
        End If
    End If
End Sub
Ma question est comment adapter ce code pour qu'il
  1. N'accepte pas la virgule du chiffre le (.) sur mon clavier
  2. N'accepte pas le chiffre négatif, le signe moins (-)
Merci beaucoup
 
Bonjour,
que de 0 à 9 et la virgule, le point est transformé en virgule.
Bruno
VB:
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("0123456789,.", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

Private Sub TextBox4_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
TextBox4.Value = Replace(TextBox4, ".", ",")
End Sub
 
Bonjour,
que de 0 à 9 et la virgule, le point est transformé en virgule.
Bruno
VB:
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("0123456789,.", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

Private Sub TextBox4_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
TextBox4.Value = Replace(TextBox4, ".", ",")
End Sub
Bonjour @youky(BJ), bonjour le forum,
Ton code accepte plusieurs virgule genre 212.23.25.2..... Comment faire?

Merci
 
Hello, donc voici plus simple
Bruno
VB:
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 46 And Not TextBox4 Like "*,*" Then KeyAscii = 44: Exit Sub
If InStr("0123456789", Chr(KeyAscii)) = 0 Then KeyAscii = 0
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

Retour