Nombre uniquement

Résolu
Guillaume170194 Messages postés 54 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 25 novembre 2021 - 13 août 2011 à 18:57
Guillaume170194 Messages postés 54 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 25 novembre 2021 - 13 août 2011 à 23:55
Bonjour à tous

Je souhaite autoriser la saisi numérique uniquement dans tout mon formulaire ( 4 textbox). Je ne vois pas le code qu'il faut. J'ai fait des recherches mais je n'ai rien trouvé de concluant.

Merci de votre aide

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 août 2011 à 20:04
Ben ...
Je pense qu'il te suffit d'utiliser par exemple l'évènement Change (puisque la saisie est modifiée à cette occasion) et de vérifier que cette saisie est numérique par vce qu'a montré RenField.

Tu dois également pouvoir utiliser l'évènement KeyPress et vérifier que la touche frappée correspond à un caractère numérique, du genre :
    Private Sub ta_textbox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Text1.KeyPress
      If e.KeyChar <> ChrW(Keys.Back) Then ' pour accepter l'effacement arrière
      
        If (e.KeyChar.ToString >= "0" And e.KeyChar.ToString <= "9")  Then
          '..... c'est un caractère numérique ===>> tes instructions
        Else
          '.... ce n'est pas un caractère numérique ==>> tes instructions
          ' je ne connais pas du tout VBnet, mais je pense (à vérifier) qu'il
          ' suffirait de modifier alors la valeur de e (peut-être avec e=False ?)
          ' pour annuler l'effet de cette touche ?

        End If
      End If
    End Sub


Essaye déjà de te dépatouiller avec ça. Si tu n'y arrives toujours pas, il te faudra attendre l'aide d'un VBNettiste (que je ne suis pas).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 août 2011 à 20:22
Après un petit tour (par curiosité) sur la toile, il me semble que, pour annuler la touche, ce serait la valeur (True ou False) de e.Handled sur laquelle il faudra jouer

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 août 2011 à 19:44
Bonjour,
Va voir la réponse donnée par Renfield dans cette discussion sur ce forum


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Guillaume170194 Messages postés 54 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 25 novembre 2021
13 août 2011 à 19:47
Oui j'avais déjà vu

Mais je veux le faire quand l'utilisateur tape au clavier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Guillaume170194 Messages postés 54 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 25 novembre 2021
13 août 2011 à 23:51
Je viens de tester avec e.Handled. Cela fonctionne mais je peux quand même mettre des caractère spéciaux. Cela bloque que les lettres.
0
Guillaume170194 Messages postés 54 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 25 novembre 2021
13 août 2011 à 23:55
Erreur de ma part finalement cela fonctionne très bien
0
Rejoignez-nous