URGENT!!! Saisie de nombres dans une listbox ??

akhiro Messages postés 15 Date d'inscription lundi 11 février 2002 Statut Membre Dernière intervention 22 juin 2002 - 21 juin 2002 à 22:31
akhiro Messages postés 15 Date d'inscription lundi 11 février 2002 Statut Membre Dernière intervention 22 juin 2002 - 22 juin 2002 à 18:54
Bonjour,

Comment réaliser un controle sur la saisie de l'utilisateur dans un textbox qui ne doit contenir que des nombres (pas de lettres) mais qui ne doit pas tenir compte du zéro 0.
ce textbox sert dans l'enregistremnt de données dans une base access, et lorsque l'utilisateur clique sur le bouton enrrgistrer, le programme enregistre un zéro par défaut pour ces champs s'ils sont vide(sinon le prog plante...).
Pour faire simple :
Si l'utilisateur saisie 0,1,2,3,4,5,6,7,8,9,etc...
pas de pb, mais je ne veut pas qu'il puisse saisir des caractères majuscule ou minuscule
Merci d'avance.

3 réponses

fredlynx Messages postés 662 Date d'inscription mercredi 16 janvier 2002 Statut Modérateur Dernière intervention 16 octobre 2010 3
21 juin 2002 à 23:05
Tu peux par les API dire à ta textbox de n'accepter que les chiffres..
*********** Déclarations
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long) As Long

Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, _
ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Public Const ES_NUMBER = &H2000&
Public Const GWL_STYLE = (-16)

*********** Fonction
SetWindowLong Text1.hWnd, GWL_STYLE, GetWindowLong(Text1.hWnd, GWL_STYLE) Or ES_NUMBER

<center>http://www.lynx-asp.fr.st
WebMaster</center>
0
akhiro Messages postés 15 Date d'inscription lundi 11 février 2002 Statut Membre Dernière intervention 22 juin 2002
22 juin 2002 à 07:04
Bonjour,

Et bien je vais tester cette solution.
Une chose est sur c'est que quand je vois les lignes de code, je me dit que j'en ai encore à apprendre, ça c'est sur... J'aurais jamais trouve rça tout seul ;-)
Un grand merci.
0
akhiro Messages postés 15 Date d'inscription lundi 11 février 2002 Statut Membre Dernière intervention 22 juin 2002
22 juin 2002 à 18:54
Un collègue de formation m'a donné une autre solution pour laquelle j'ai opté :
ici superficie_bat représente évidemment le textbox dans lequel l'utilisateur devra saisir la superficie du batiment.... (donc que des chiffres) ;-)

Private Sub superficie_bat_KeyPress(KeyAscii As Integer)
If InStr(1, "0123456789", Chr$(KeyAscii)) = 0 And KeyAscii <> 9 And KeyAscii <> 8 Then ' 9 est le code pour 'Del' et 8 pour 'Backspace'
KeyAscii = 0 'n'affiche pas le caractère
End If
End Sub
0
Rejoignez-nous