Dim ?? as ??

luckyrobby Messages postés 4 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 3 décembre 2004 - 3 déc. 2004 à 13:27
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 - 3 déc. 2004 à 23:29
Bonjour,
J ai besoin d aide,
J ai une fenetre ou les utilisateurs doivent saisir un chiffre, entier ou a virgule.
Mais il y a toujours un petit malin pour entrer du text...
Comment imposer que la zone de texte soit Numerique?
Ou qu il convertisse la variable saisie en chiffre. J ai essaye la fonction: CLong(var)
Mais il cree une erreur.
D avance merci aux personnes bien veillante qui m aideront.

6 réponses

odan71 Messages postés 140 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 11 décembre 2007
3 déc. 2004 à 13:44
slt luckyrobby
places ce bout de code dans l'evenemnent KeyPress de ton champ texte:
'n'autorise que les chiffresIf KeyAscii 110 Or KeyAscii 190 Or KeyAscii = 45 Or KeyAscii = 46 Or KeyAscii = 8 Or KeyAscii = 37 Or KeyAscii = 39 Then Exit Sub
If (KeyAscii <> 48 And KeyAscii <> 49 And KeyAscii <> 50 And KeyAscii <> 51 And KeyAscii <> 52 _
And KeyAscii <> 53 And KeyAscii <> 54 And KeyAscii <> 55 And KeyAscii <> 56 And KeyAscii <> 57) Then
KeyAscii = 0
Exit Sub
End If

"Si tu téléphones à une voyante et qu'elle ne décroche pas avant que ça sonne, raccroche." -- Jean-Claude Vandamme

odan71
0
luckyrobby Messages postés 4 Date d'inscription mercredi 1 décembre 2004 Statut Membre Dernière intervention 3 décembre 2004
3 déc. 2004 à 14:52
je vais essayer.
Merci

Quelqu'un veux une Guiness ?
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
3 déc. 2004 à 15:20
Salut,

Ou sinon plus simple, mais avec la meme idee

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then ' touche DEL
    If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
End If
End Sub

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
3 déc. 2004 à 15:27
re,
Petite precision en fait, j ai filtrer ici simplement lettre et pas lettre, effectivement dans mon cas on peut pas entrer de chiffre a virgule (petite erreur de ma part).

mets que ce passe t il si on entre ca: ....1254%n

et bien avec la methode de odan71 l utilisateur peut le rentrer donc il faut se proteger de ces cas la aussi
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
0

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

Posez votre question
gandalflegris007 Messages postés 211 Date d'inscription lundi 31 mars 2003 Statut Membre Dernière intervention 11 juin 2007
3 déc. 2004 à 17:35
Bonjour à tous,

pourquoi pas tout simplement attendre la fin de la saisie utilisateur et faire un contrôle de validité avec un IsNumeric.
Si le contrôle révèle une erreur, alerte l'utilisateur en lui demandant de modifier sa saisie.

Guich
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
3 déc. 2004 à 23:29
Si Si jrivet ta méthode est bonne seulement VB ne reconnais pas la virgule pour les entrée numérique mais le point.
il est évident que l'on doit attendre la fin de la saisie pour controler si l'entrée est bonne.
Nous avons déja donné des soluces en cherchant bien dans les topics ..........
_______________________________________

Jean-Paul

Le Savoir n'a de valeur que s'il est partagé
0
Rejoignez-nous