Forcer saisie numérique avec virgule/point

Résolu
cs_Choucroute62 Messages postés 34 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 17 janvier 2008 - 22 mai 2007 à 10:59
cs_Choucroute62 Messages postés 34 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 17 janvier 2008 - 22 mai 2007 à 11:44
Bonjour à tous, je suis nouveau sur ce forum, donc excusez moi s'avance si je post au mauvais endroit.
Voilà je suis en stage et j'ai une application de gestion à mettre en place.
J'ai trouvé un code qui permet d'entrer que des valeurs numériques, mais je dois entrer un prix, qui peut comporter une virgule.

Private Sub Textpxpdt_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case vbKey0 To vbKey9
Case Else
KeyAscii = 0
End Select
End Sub

Si quelqu'un connait la solution à mon problème je le remercie fortement.

10 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 mai 2007 à 11:10
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
22 mai 2007 à 11:13
Salut,

Regarde cela :

Private Sub Textpxpdt_KeyPress(KeyAscii As Integer)

If Not IsNumeric(Chr(KeyAscii)) Then       If KeyAscii 8 Or Keyascii 44 Then
          ' on fait rien
       Else
          KeyAscii = 0
       End If
End If

End Sub

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
22 mai 2007 à 11:14
Lol...Il n'y a pas de fou sur Vbfrance....Désolé post croisé..

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
22 mai 2007 à 11:17
Euh pardon 1022934 Choucroute62, oubli dans mon code : Keyascii = 44....Car sinon tu va pouvoir mettre 50 virgule !!!!

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
cs_Choucroute62 Messages postés 34 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 17 janvier 2008
22 mai 2007 à 11:26
Mercii, mais je mets quoi a la place de 44??
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
22 mai 2007 à 11:35
Salut,

En faite il faut autoriser la saisie de la virgule qu'une seule fois..

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
cs_Choucroute62 Messages postés 34 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 17 janvier 2008
22 mai 2007 à 11:38
Ok, bon je vais désormais essayer de trouver comment sécuriser la saisie avec une seule virgule (débutant oglige) :d:d
Merci
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 mai 2007 à 11:39
donc :
remplacerIf KeyAscii 8 Or Keyascii 44 Then
parIf KeyAscii 8 Or (Keyascii 44 and instr(Textpxpdt, ",") = 0) Then
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
22 mai 2007 à 11:41
Pardon !If KeyAscii 8 Or (Keyascii 44 and instr(Textpxpdt .text , ",") = 0) Then
0
cs_Choucroute62 Messages postés 34 Date d'inscription lundi 2 avril 2007 Statut Membre Dernière intervention 17 janvier 2008
22 mai 2007 à 11:44
Merci de votre aide rapide et précise!
Ca marche nickel!
A++
0
Rejoignez-nous