Controle de saisie dans une textbox

Signaler
Messages postés
63
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 avril 2005
-
Messages postés
63
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 avril 2005
-
bonjour

sur visual studio .net en visual basic
os: xindows xp

je voudrais faire un controle de saisie dans une textbox enfin plutot interdire de rentrer des chiffres dans une textbox, cad que l'utilisateur même en tapant au clavier des lettres elles ne s'afficheront pas seul les chiffres s'afficheront

est ce possible de le faire? et si oui comment on l efait svpp?

je voudrais avoir également comment on fait lorsque on clique sur entrer sur le clavier déclencher une procédure (enfin du code) car je n'y arrive pas. je l'ai remplacer par un bouton mai je préfèrerai le mettre sur la touche entrée du clavier
est ce possible également? si oui pouvez vous m'aider

mercii
@bientot

16 réponses

Messages postés
199
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
27 octobre 2006
1
N'hésite pas à demander de plus amples explications si j'ai été un peu confus. Bien la signature.
1
Merci

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

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

Messages postés
199
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
27 octobre 2006
1
Salut, alors moi je fias du vb6 alors je sasi pas si ça marchera, en plus je sais pas ce qu'est un userform.
Mais bon je te dis qd meme si ton userform possede la proprièté KeyPreview et que tu la met à True, tu peux intercepter la frappe du clavier avec l'event keypress, et changer ds cette sub la variable KeyAscii (le code de la touche frappée) par nimporte quel valeur, si jamais c'est pas un caractere numeric (if not isNumeric(KeyAscii)). Si tu mias 0 ça affichera rien ds la textbox. Et tu peux utiliser le meme event pour la touhe entré. Voilà si jamais ça marche ...
Messages postés
63
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 avril 2005

merci de m'avoir répondu
je vais essayai de voir ce que je peux faire avec ce que tu m'a di

>>>> "Le génie n'existe pas sans un grain de folie"
Messages postés
63
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 avril 2005

lol merci

je n'ai pas vraiment compri quand tu dit qu'il faut mettre 0
pour la touche entrée je veus lancer un bout de code que j'ai deja ecrit mais je dois le faire sur quel évènement?

>>>> "Le génie n'existe pas sans un grain de folie"
Messages postés
199
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
27 octobre 2006
1
En paramètre de la sub KeyPress ya une variable KeyAscii. Au lancement de la sub, KeyAscii contient le code ascii de la touche pressée ; à la fin de la sub, c'est cette variable qui est passée aux autres controles (par exemple ta textbox) pour en faire ce quils en veulent (par exemple l'afficher ds la textbox). Donc si tu modifies KeyAscii, c'est comme si tu modifiais la frappe du clavier. Et il se trouve que le code ascii 0 n'affiche rien ds la textbox.

Pour ta touche entré, tu met le code dans l'event KeyPress ou keyDown, apres avoir vérifié que la touche est bien entré (KeyAscii = 13 ou KeyCode=vbKeyEnter).

Voilà

C'est vers ou rouge une emeraude ?
Messages postés
63
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 avril 2005

merci mais quand j'écrit
if keyascii = 13 then
[traitement]
end if

le keyascii est souligner. il n'est pas déclaré et ca ne marche pas alors chai po komment on fait

une émeraude c'est vert. et c'est joli un émeraude loool

>>>> "Le génie n'existe pas sans un grain de folie"
Messages postés
199
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
27 octobre 2006
1
Aaaaaaaaaaah mais comment ça pas déclaré ? C'est un paramètre il est forcement déclaré ! Tu as bien mis ton code dans la sub Form_KeyPress ? Sinon montre moi ton code.

Et pour l'interdiction des lettres, ça marche ? Sinon ya d'autres moyens que d'intercepter la touche, tu peux par exemple vérifier la saisie à chaque Text1_Change (mias c'est plus compliqué là).
Messages postés
63
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 avril 2005

j'ai bien mis le code dans le keypress mai ca le souligne.
j'ai mis exactemetn ce ke j'ai dis a part qu'a la place de [traitement] j'ai mis msgbox("ouééé") pour voir si ca marchait
il le reconnait comme un nom non déclaré

pour l'interdiction des lettres j'ai réussi a le faire et l'utilisateur ne peut entrer que des chiffres

pour chaque text1_change c'est pour remplacer la touche entrée du clavier? ou pour l'interdiction des lettres?

>>>> "Le génie n'existe pas sans un grain de folie"
Messages postés
199
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
27 octobre 2006
1
Tiens donc. Comme c'est bizarre. Oui bon ben s'il est pas déclaré c'est forcement qu'il n'est pas en paramètre. L'event est peut être différent dans VB.NET. Moi j'ai ça :
Private Sub Form_KeyPress(KeyAscii As Integer)

End Sub

D'où le KeyAscii.

Mais alors je pige pas si ça a marché pour les chiffres et les lettres (gag) comment ça peux foirer là ? A moins que t'ai trouvé un autre moyen ? Text1_Change c'était pour les lettres et les chiffres (aga) oui.

Bon chère amie (euh à moins que tu ne sois un cher ami ?) c'est bizarre tt ça.
Messages postés
63
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 avril 2005

merci de m'avoir aider j'ai finalement trouver comment faire j'ai fait

If e.KeyChar = Microsoft.VisualBasic.ChrW(13) Then
[traitement]
end if

et ca marche!
je suis une chère amie!!!! lool
et toi cher ami??

>>>> "Le génie n'existe pas sans un grain de folie"
Messages postés
199
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
27 octobre 2006
1
Ah oui ben c'est pas vraiment tout à fait fait comme chez moi en effet. Par curiosité, c'est quoi e dans e.KeyChar ?
Et qu'est ce donc que le programme que tu fais pour avoir des chiffres à rentrer, si ce n'est pas par trop indiscret (par exemple si tu as repris le projet IDS (ou "guerre des étoiles") qu'avaient finalement laissé tomber les americains qd les Russes se sont amolis et que tu devellopes une version pirate sur la base des satellites de l'OTAN, je comprendrais que tu ais quelques reticences à me révéler des choses) ?

Sinon moi je suis un cher ami. Un GS c'est bleu. Et c'est joli un GS.
Et ça devellope des balles rebondissantes un GS (c'est bien pasque ça necessite pas le détournement de satellites militaires les balles rebondissantes tu vois).

Voilà voilà.
Messages postés
63
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 avril 2005

la déclaration c'est
Private Sub tb_rep_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tb_rep.KeyPress

ca doit etre la donnée de sortie en fait je sais pas vraiment ce que c'est je l'ai trouver sur un site et je l'ai tapé et ca a marché
j'ai fait un jeu et dans ce jeu il y a 4 mini jeux. il y a des questions et il fauit répondre a ces questions et c'est des querstions avec des réponses en chiffre

c'est quoi un GS??

>>>> "Le génie n'existe pas sans un grain de folie"
Messages postés
199
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
27 octobre 2006
1
Oulaaaaaaa je suis bien content de pas avoir installé VB.NET c'est bien trop lourd comme syntaxe.

Alors en fait tu fais un programme de révision de maths pour le bac, c'est ça ? Non je fixe un peu sur le bac là (d'où le projet IDS) désolé.

Un GS c'est un GlanduSchmoldu (c'est moi) qui a la flemme d'écrire son pseudo en entier. Rien de bien passionant.

Voili voilà poil au à.
Messages postés
63
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 avril 2005

je ne trouve pas que vb.net ai une syntaxe trop lourde c'est quand tu clique sur le bouton ou la textbox par exemple ce que je t'ai montré ce déclenche. tu ne l'écris pas toi même.

lol ce n'est pas un programme de révision pour le bac je l'ai déjà passé. c'est juste un petit jeu pour s'amuser.

merci pour la définition d'un GS!!!

>>>> "Le génie n'existe pas sans un grain de folie"
Messages postés
199
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
27 octobre 2006
1
Oui bon désolé j'exagère évidemment ds VB6 non plus on ne l'écrit pas soit même, mais avoue que c'est qd meme plus impressionnant que Private Sub Form_KeyPress (KeyAscii As Integer).

Bon ben voilà Emeraudes (je suis un peu tatillon mais je trouve qu'avec une majuscules c'est mieux), content que tu ais trouvé, malgrès mon aide malheureusement mal adaptée à VB.NET. D'ailleurs si jamais tu publie ta source ici je m'empresserai de la regarder.

Aller salut bonne programation et peut être à une autre fois.

VIVE LES PATATES AU LARD ET LES EMERAUDES (VERTES)
Messages postés
63
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
8 avril 2005

je l'ai trouvé dans http://msdn.microsoft.com/library/fre/default.asp?url=/library/FRE/netstart/html/sdk_netstart.asp
c'est vrai qu'avec une majuscule ca fait mieux mais c'est plus facile à écrire avec une minuscule c'est pour ca que je ne l'ai pas écrit en majuscule. remarque c'est plus beau en majuscule

merci d'avoir essayer de m'aider

à toi aussi bonne programmation
@+++

>>>> "Le génie n'existe pas sans un grain de folie"