Ce code gère la virgule et la négation.
Il est INFAILLIBLE et OPTIMISE le plus possible.
Donc si vous arrivez ( par un miracle ou que sais-je à l'optimiser encore plus ) prévenez moi je suis PRENEUR :=)
Ce code a pour but d'éviter les "betises" de l'utilisateur.
Lorsque vous acceptez les caractères - et . rien n'indique leur position.
Ce code ci empeche la saisie par exemple de : ".-45" ou meme "--45"
ou les signes sont acceptés mais rendent la saisie erronée.
Propriété du code :
--> Il n'accepte qu'une fois les caracteres - et .
--> Il les gère sans comettre d'erreur. ( Ils ne peuvent apparaitre deux fois )
--> Il est intelligent : Si vous pressez le - ou . il accete suivant le cas.
--> ( Possibilité de considérer la virgule comme le point )
L'expérience illustrant la réalité, essayez par vous même...
Source / Exemple :
' L'objet s'appelle : TEXTE
'RAPPEL : lorsque l'on ecris TEXTE.text, il s'agit de la forme exacte de TEXTE,
' qui prend par défaut la propriété texte.
Private Sub TEXTE_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii > 57 Or KeyAscii < 48 And KeyAscii <> 8 Then
Select Case Chr(KeyAscii)
Case "." ',"," Si vous voulez que "," soit consideré comme "."
'KeyAscii = Asc(".")
If InStr(1, TEXTE, ".") Or Mid(TEXTE, TEXTE.SelStart + 1, 1) = "-" Then
If Not (InStr(1, TEXTE.SelText, ".")) Then KeyAscii = 0
End If
Case "-"
Dim MEM As Byte
MEM = TEXTE.SelStart
If InStr(1, TEXTE, "-") Then
If Not (InStr(1, TEXTE.SelText, "-")) Then
'Cette ligne met SelStart à 0 donc vala pk on l'a memorisé avant !
TEXTE = Mid(TEXTE, 2, TEXTE.SelStart - 1) _
& Right(TEXTE, Len(TEXTE) - TEXTE.SelStart)
TEXTE.SelStart = MEM - 1
KeyAscii = 0
End If
Else
TEXTE = "-" & TEXTE
TEXTE.SelStart = MEM + 1
KeyAscii = 0
End If
Case Else
KeyAscii = 0
End Select
End If
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.