Définir des constantes du type
Const SaisieDecimale As String = ".,0123456789" & vbCr & vbBack
Const SaisieEntiere As String = "0123456789" & vbCr & vbBack
Const Point as string ="."
Const Virgule as string =","
Puis utiliser xxx_KeyPress ici pour une saise décimale avec
substitution . par , et un seul séparateur décimal de permis
ici en systeme français la virgule
Private Sub xxxx_KeyPress(KeyAscii As Integer)
If KeyAscii = Asc(Point) Then
If InStr(xxxx, Virgule) = 0 Then
KeyAscii = Asc(Virgule)
Else
KeyAscii = 0
End If
ElseIf InStr(SaisieDecimale , Chr(KeyAscii)) = 0 Then
KeyAscii = 0
ElseIf InStr(xxxx, Virgule) > 0 And KeyAscii = Asc(Virgule) Then
KeyAscii = 0
End If
If KeyAscii = 13 Then SendKeys "{TAB}": KeyAscii = 0
End Sub
pour une saisie d'entiers
Private Sub xxxx_KeyPress(KeyAscii As Integer)
If InStr(SaisieEntiere , Chr(KeyAscii)) = 0 Then KeyAscii = 0
If KeyAscii = 13 Then SendKeys "{TAB}": KeyAscii = 0
End Sub
Message édité par kiki29 le 07-02-2006 à 15:05:44