Controle de saisie avec ASCII

judsteph Messages postés 1 Date d'inscription dimanche 3 décembre 2000 Statut Membre Dernière intervention 24 février 2008 - 24 févr. 2008 à 20:08
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 14 avril 2008 à 23:44
Salut , je voudrais savoir comment faire un controle de saisie de chiffres uniquement dans un Textbox à l'aide du code ASCII dans l'evenment Keypress.
Je sais bien utiliser msgbow asc("A") qui me donne 65 mais pour le controle de saisie je plante...
help...

6 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
24 févr. 2008 à 20:40
salut,
faut peut-être nous dire ce que tu veux contrôler ^^

au keypress tu as le KEYASCII qui t'es renvoyé.
pour refuser il suffit de faire keyascii=0

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
25 févr. 2008 à 08:19
Salut,
Salut PCPT,

Dans un textbox...?...que des chiffres...? Voir alors aussi : IsNumeric ou snippet sur codyx.org

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
hksouri Messages postés 2 Date d'inscription samedi 6 octobre 2007 Statut Membre Dernière intervention 11 mai 2009
14 avril 2008 à 22:47
Slut tt le monde
Dim i AsInteger
Dim c AsString
 
'---- Contrôle la validité de la saisie
    For i = 1To Len(Text4.Text)
        c = Mid$(Text4.Text, i, 1)
        If c < "0"Or c > "9"Then
            MsgBox "Vous ne pouvez entrer que les chiffres de 0 à 9"
'---- Erreur : place la sélection sur le 1er caractère erroné
            Text4.SelStart = i - 1
            Text4.SelLength = 1
            Text4.SetFocus         'focus sur numero
            ExitFor
        EndIf
    Next
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
14 avril 2008 à 22:57
Salut,

Cela ma l'air plus simple avec IsNumeric....non ?

Private Sub Text1_KeyPress(KeyAscii As Integer)


If Not IsNumeric(Chr(KeyAscii)) Then
   MsgBox "Veuillez saisir que des chiffres de 0 à 9 !"
   KeyAscii = 0
End If


End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
14 avril 2008 à 23:25
salut
(coucou Explo)

je ne comprendrai jamais pourquoi on veut absolument "alerter qu'il y a uneerreur" quand on peut simplement l'empêcher....

bref, mis à part que le principal intéressé ne s'est toujours pas manifesté :

http://www.codyx.org/snippet_textbox-numerique-seulement_53.aspx
Const ES_NUMBER As Integer = &H2000&
Const GWL_STYLE As
Integer

= -16

Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As system.intptr, ByVal nIndex As
Integer

) As
Integer

Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As
system.intptr

, ByVal nIndex As
Integer
, ByVal dwNewLong As
Integer
) As
Integer

Private Function SetTextBoxNum(ByRef Obj As Object) As Boolean
    SetWindowLong Obj.hwnd, GWL_STYLE, GetWindowLong(Obj.hwnd, GWL_STYLE) Or ES_NUMBER
End Function

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
14 avril 2008 à 23:44
Salut PCPT >> Lol...j'ai même pas percuter que ce n'était pas le principal intéressé....J'suis perdu dans l'océan !

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
Rejoignez-nous