Problème de saisie dans textbox

Signaler
Messages postés
36
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
2 novembre 2007
-
Messages postés
38
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
6 juin 2006
-
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

Messages postés
39
Date d'inscription
lundi 13 septembre 2010
Statut
Membre
Dernière intervention
23 novembre 2012

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
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
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)
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,

>NHenry: Synchronisme a tout épeuve :)
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
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)
Messages postés
36
Date d'inscription
samedi 21 mai 2005
Statut
Membre
Dernière intervention
2 novembre 2007

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.
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
27
IsNumeric est ok avec un float si tu utilises ce que propose NHenry pour remplacer les , par des .
Messages postés
38
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
6 juin 2006

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
Messages postés
38
Date d'inscription
lundi 14 février 2005
Statut
Membre
Dernière intervention
6 juin 2006

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 !!