Fujisaki
Messages postés7Date d'inscriptionjeudi 29 mars 2007StatutMembreDernière intervention 8 juin 2007
-
8 juin 2007 à 15:27
Fujisaki
Messages postés7Date d'inscriptionjeudi 29 mars 2007StatutMembreDernière intervention 8 juin 2007
-
8 juin 2007 à 19:55
Bonjour,
J'ai un petit soucis de signe dans une textbox!
Dans celle-ci, seuls les nombres et signes "-" ou "+" et "." sont acceptés.
Lorsque je met uniquement un signe dans la textbox, visual basic prend ça comme un zéro quelque soit le signe "-" "+" ou ".".
J'aimerai donc forcer le fait qu'il y ait forcement un chiffre ou un nombre aprés un signe "+" ou "-", et qu'il y ait un chiffre ou un nombre avant et aprés le signe ".".
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 8 juin 2007 à 16:25
Voilà qui accepte tant le point que la virgule
Private Sub Text1_LostFocus()
toto = Text1.Text
titi toto
If (Len(toto) > 0 And Not IsNumeric(toto)) Then MsgBox "non"
End Sub
Private Sub titi(toto)
If InStr(toto, ".") = 0 Then Exit Sub
ou = InStr(toto, ".")
Mid(toto, ou, 1) = ","
End Sub
si maintenant tu veux n'accepter que le point :
tu remplace la routine titi par :
Private Sub titi(toto)
If InStr(toto, ",") > 0 Then toto = "va te faire voir par les grecs"
If InStr(toto, ".") = 0 Then Exit Sub
ou = InStr(toto, ".")
Mid(toto, ou, 1) = ","
End Sub
fiko81
Messages postés381Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 5 septembre 20103 8 juin 2007 à 15:32
Salut,
Il te suffit de coder ça "J'aimerai donc forcer le fait qu'il y ait forcement un chiffre ou un
nombre aprés un signe "+" ou "-", et qu'il y ait un chiffre ou un
nombre avant et aprés le signe "."."
Les conditions que tu donnent semble très facile à coder : tu saisies l'évenement lostfocus pour vérifier la saisie et si c'est pas du avertis l'utilisateur et redonne le focus à la zone de saisie
Fiko ;-)
La reponse vous convient pensez > Accepter < <hr />
Fujisaki
Messages postés7Date d'inscriptionjeudi 29 mars 2007StatutMembreDernière intervention 8 juin 2007 8 juin 2007 à 16:04
Private Sub txtCoA_LostFocus()
If (Len(txtCoA.Text) > 0 And Not IsNumeric(txtCoA.Text)) Then
lblRep.Caption = lblRep.Caption & vbCrLf & _
" 1 REEL cohérent Merci! "
txtCoA.Text = ""
txtCoA.SetFocus
End If
End Sub
voila ce que j'ai fait!
mais maintenant, il m'accepte même plus le signe ".", même lorsque je met 2.3
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 8 juin 2007 à 16:07
Attends,
Tu veux saisir avec quel séparateu de décimales ? la virgule ou le Point ?
Isnumeric travaille avec le séparateur "régionale" (probablement la virgule chez toi)
si tu veux travailler avec le point, il faut procéder autrement.
Tu dis...
Fujisaki
Messages postés7Date d'inscriptionjeudi 29 mars 2007StatutMembreDernière intervention 8 juin 2007 8 juin 2007 à 16:11
Je travaille avec le point
A l'aide des keyascii :
Case 46
If InStr(1, txtCoD.Text, ".") <> 0 Then
GoSub Sottise
lblRep.Caption = lblRep.Caption & vbCrLf & _
" Point décimal incohérent! "
End If