Eliminer les Lettres dans les textbox [Résolu]

Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
- - Dernière réponse : ThoT49
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
- 1 sept. 2007 à 12:32
Bonsoir, j'aimerais éliminer les lettres dans mes textbox pour éviter que cela affiche un méssage d'érreur lorsque l'on tappe une lettre dans une textbox qui ne doit accepter que les chiffres...

En gros je voudrais que lorsque je tappe une lettre dans la textbox cela la suprime directement puis j'afficherais un message disant de ne pas tapper des lettres.

Voila merci d'avance :)
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
3
Merci
On t'a déjà répon du pour la virgule, il faut faire pareil pour les chiffres.

Dans l'évènement KeyPress du textbox tu met ceci pour filtrer toutes les lettres

        If Char.IsLetter(e.KeyChar) Then e.Handled = True

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_casy
Messages postés
103
Date d'inscription
lundi 23 avril 2007
Statut
Membre
Dernière intervention
20 octobre 2012
0
Merci
il faut que tu utilise l'evenement change de ton textbox je pense
Commenter la réponse de andalo
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
0
Merci
salut,

pourquoi mettre un message?

http://www.codyx.org/snippet_autoriser-saisie-chiffres-dans-champ-texte_119.aspx#340

http://www.codyx.org/snippet_textbox-numerique-seulement_53.aspx

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
1
0
Merci
PCPT, les deux liens que tu m'as donné ne sont pas pour VB2005 ou VB.NET.

Et est ce que il éxiste un substitu de keyAscii en vb2005 ?
Commenter la réponse de ThoT49
Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
5
0
Merci
Bonjour,
Si tes textbox ne doivent accepter que des chiffres, le code suivant fonctionne bien.
(Par contre si elles doivent accepter aussi des séparateurs décimaux, c'est plus compliqué.)

Tu peux déjà attribuer un tag identique à tous les textbox concernées, afin de les différencier des autres, puis les abonner à l'événement « KeyPress » dans ton form_load :

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Load
'*** Pour chaque textBox du formulaire, ayant un tag = tbNbre
' - on demande un alignement à droite
' - on lui associe une routine à chaque pression sur une touche du
' clavier.
Dim txtbox As Control
For Each txtbox In Me.Controls
If TypeOf (txtbox) Is TextBox And txtbox.Tag Is ("tbNbre") Then
'*** "TextAlign" n'étant pas un membre de "Control", il faut
' redéfinir à ce stade, "TextBox" comme un textBox.
Dim txt As TextBox = CType(txtbox, TextBox)
txt.TextAlign = HorizontalAlignment.Right
AddHandler txtbox.KeyPress, AddressOf tbKpress_KeyPress
End If
Next
End Sub

Puis le traitement de l'événement :

Private Sub tbKpress_KeyPress(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs)

If Char.IsNumber(e.KeyChar) = False Then
e.KeyChar = CChar("")
MessageBox.Show("Entrez un nombre")
End If
End Sub
Commenter la réponse de cs_christoni
Messages postés
153
Date d'inscription
dimanche 4 mars 2007
Statut
Membre
Dernière intervention
24 avril 2011
1
0
Merci
Ok merci, et dsl je n'y arrivais pas tout seul ... Mais maintenant c'est bon :)
Commenter la réponse de ThoT49