Problème de saisie dans textbox

rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007 - 10 févr. 2006 à 09:48
cs_popo51 Messages postés 38 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 6 juin 2006 - 2 juin 2006 à 11:18
Bonjours à tous
Voila, j'ai un petit soucis en vb6.
Lorsque j'entre des valeurs dans une textbox, je click sur un bouton qui enregistre ces valeurs dans une base acces 2000.
Le problème est que je souhaite que l'enregistrement ne s'effectue qu'avec des chiffres(avec ou sans virgule) et que cela génère une erreur si elle tape des lettres.
J'ai trouvé l'option DataFormat==>Nombre dans les options de textbox, mais je n'arrive pas à l'utiliser.
Help me please.

9 réponses

wanure Messages postés 39 Date d'inscription lundi 13 septembre 2010 Statut Membre Dernière intervention 23 novembre 2012
10 févr. 2006 à 09:55
Bonjour!!

Pour contrôler la saisie de caractères numériques, il faut utiliser la fonction IsNumeric

Syntaxe :

Par exemple : If IsNumeric(textbox1) = True Then

....

EndIf
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
10 févr. 2006 à 09:59
Bonjour

et peut-être Text=replace(TextBox1,",",".")
pour remplacer les virgules par des points

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 févr. 2006 à 09:59
Salut,

En complement de wanure j ajouterai que tu peux faire le controle de ce qui est saisi lors de l evenement keypress du textbox. Ainsi si une lettre est entre, le textbox ne la prend pas.

Soit avec un textbox appele Text1:

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 And KeyAscii <> 46 Then Exit Sub
If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
End Sub


Voila,
@
Julien
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
10 févr. 2006 à 10:01
Re,

>NHenry: Synchronisme a tout épeuve :)
0

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

Posez votre question
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
10 févr. 2006 à 10:07
Bonjour

j'ai vu, c'est pas courant dans le forum.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
0
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
10 févr. 2006 à 10:25
A je vous remercie.
J'avais effectivement connaissance du isNumeric, mais lorsqu'elle entre un float, ca ne marche pas.
Je pensais que le IsFloat existait sous vb 6, mais malheureusement no.
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
10 févr. 2006 à 17:10
IsNumeric est ok avec un float si tu utilises ce que propose NHenry pour remplacer les , par des .
0
cs_popo51 Messages postés 38 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 6 juin 2006
2 juin 2006 à 11:15
Bonjour a tous moi j'aimerai pouvoir saisir une date au format "dd/mm/yyyy"
si j'utilise :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 And KeyAscii <> 46 Then Exit Sub
If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
End Sub

j'ais un pb car je ne pe pas afficher les "/" au quel cas si il est possible de savoir quel est le code ascii de "/".
MERCI
0
cs_popo51 Messages postés 38 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 6 juin 2006
2 juin 2006 à 11:18
bon et bien j'ais utilisé :
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

avec un "/" en plus aprés le 9 mdr et ca marche !!
0
Rejoignez-nous