MaX_62
Messages postés879Date d'inscriptionvendredi 22 octobre 2004StatutMembreDernière intervention29 juin 2007
-
7 mai 2005 à 11:53
medaz
Messages postés22Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention 9 mai 2005
-
9 mai 2005 à 11:12
Bonjour,
Je débute encore en VB6, et j'ai un petit souci assez simple a régler je pense :
Je voudrais enpêcher que l'utilisateur entre des lettres ou autre dans une TextBox. Je veux que seuls les chiffres et le point soient accepter. J'ai fait quelques essais sur l'évènement KeyPress, sans succès
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 7 mai 2005 à 12:34
Bonjour, je pense que ce code répond à ton attente
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If Not IsNumeric(CStr((Text1.Text))) Then
MsgBox "Vous ne pouvez entrer que des valeurs numériques", vbInformation + vbCritical
Text1.Text = ""
Text1.SetFocus
End If
End Sub
pascallac
Messages postés35Date d'inscriptiondimanche 7 septembre 2003StatutMembreDernière intervention12 mai 2005 7 mai 2005 à 12:47
bonjour
apres avoir recus de l'aide je me fait un plaisir de vous aidez
voici le code que j'ais utilisé pour mon programme
il remplace le point par la virgule
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 46 Then 'si c'est un point (.) on le change en virgule (,)
KeyAscii = 44
End If
If InStr("0123456789," & Chr(8), Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End Sub
autorise les touches numerique et virgule
la touche return est active aussi permet une correction
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 7 mai 2005 à 15:03
Solution directe:
Const GWL_STYLE = (-16)
Const ES_NUMBER = &H2000&
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Sub Form_Load()
Dim Style As Long
Style = GetWindowLong(Text1.hwnd, GWL_STYLE)
SetWindowLong Text1.hwnd, GWL_STYLE, Style Or ES_NUMBER
End Sub
medaz
Messages postés22Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention 9 mai 2005 9 mai 2005 à 11:12
bonjour tout le monde ca fait plaisir d'avoir plusieurs solution.
-- jpleroisse je vois que tu ecrase tout le contenu de la zone de texte si c'est numeric
ds ce cas a chaque fois que l'untilisateur ce trompe il faut qu'il retape tout depuis le debut
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
If Not IsNumeric(CStr((Text1.Text))) Then
MsgBox "Vous ne pouvez entrer que des valeurs numériques", vbInformation + vbCritical
Text1.Text = ""
Text1.SetFocus
End If
End Sub
-- pascal c'est bien comme idee ca va me servir moi meme