Forcer saisie numérique avec virgule/point

Résolu
Signaler
Messages postés
34
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
17 janvier 2008
-
Messages postés
34
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
17 janvier 2008
-
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

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
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

 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
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

 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
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

 
Messages postés
34
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
17 janvier 2008

Mercii, mais je mets quoi a la place de 44??
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
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

 
Messages postés
34
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
17 janvier 2008

Ok, bon je vais désormais essayer de trouver comment sécuriser la saisie avec une seule virgule (débutant oglige) :d:d
Merci
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
donc :
remplacerIf KeyAscii 8 Or Keyascii 44 Then
parIf KeyAscii 8 Or (Keyascii 44 and instr(Textpxpdt, ",") = 0) Then
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Pardon !If KeyAscii 8 Or (Keyascii 44 and instr(Textpxpdt .text , ",") = 0) Then
Messages postés
34
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
17 janvier 2008

Merci de votre aide rapide et précise!
Ca marche nickel!
A++