[Visual Basic] une seule virgule dans une textBox

Résolu/Fermé
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 21 avril 2016 à 12:13
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 21 avril 2016 à 21:46
Bonjour à tous et à toutes, je sollicite votre aide pour le sujet suivant :
je voudrais limiter le nombre des virgules dans une textBox à 1.
c-à-d si je met une virgule dans une textBox et j'essaie de mettre une deuxième rien ne se passe
j'ai bien trouver le code suivant :
 Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If (e.KeyChar = ",") Then If (TextBox1.Text.Contains(",")) Then e.Handled = True
End Sub

dans :
https://forums.commentcamarche.net/forum/affich-22991758-vb-net-virgule-textbox
mais rien ne change (meme si celui qui postée le code à mis le sujet comme résolu )
j'ai déjà trouvé comment interdire la saisie des lettres et autre symbole, et aussi comment remplacer le point par une virgule

Voici le Code :
Dim desNuméro() As Char = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Not desNuméro.Contains(e.KeyChar) And Not Asc(e.KeyChar) = 8 Then
e.Handled = True
End If
If e.KeyChar = "."c Or e.KeyChar = ","c Then
e.Handled = True
TextBox1.AppendText(",")
End If
End Sub

il me manque que ça
aidez moi s'il vous plait et merci d'avance




A voir également:

2 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
21 avril 2016 à 20:49
If TextBox.Text.Contains(",") then 'refuser saisie du point/virgule.
Sinon, essayes aussi de faire un copier/coller vers ta textbox, pour voir si ça fonctionne toujours. (genre "jhdk51258...54fg" -> Textbox)
0
Bonsoir

Essaie avec ça

    Dim desNuméro() As Char = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

If Not desNuméro.Contains(e.KeyChar) And Not Asc(e.KeyChar) = 8 Then
e.Handled = True
End If
If e.KeyChar = "."c Or e.KeyChar = ","c Then
e.Handled = True
If Not (TextBox1.Text.Contains(",")) Then TextBox1.AppendText(",")
End If

End Sub
0
kikou93 Messages postés 417 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 1
21 avril 2016 à 21:46
merci à NHenry et Mosca de m'avoir répondu, la solution de Mosca fonction très bien merci encore je vous suis très reconnaissant.
0