Bonjour a tous,

je suis en train de realiser un projet en utilisant le code VBA sous Excel.

Voila mon projet, j'ai cree un USF, dans ce USF j'ai differentes TextBox que j'ai limite aux numeriques et avec deux chiffres apres la virgule (ou le point) maximum. J'ai aussi bloque la saisie pour ne pas depasser une borne numerique:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Private Sub TextBox6_change()
    Static anc As String
    If Val(Replace(TextBox6.Text, ",", ".")) > 1 Then TextBox6.Text = anc Else anc = TextBox6.Text
 
    If Right(TextBox6, 1) = "." Or Right(TextBox6, 1) = "," Then TextBox6.MaxLength = Len(TextBox6) + 2
End Sub
 
Private Sub TextBox6_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Dim allowedKeys As String
    allowedKeys = "0123456789,." & Chr(8)
    If InStr(allowedKeys, Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

Maintenant je me trouve face un probleme:

J'aimerais que l'on puisse saisir qu'une seule virgule OU qu'un seul point dans ma TextBox6. Quel code je doit rajouter et ou le mettre ?

Merci beaucoup de votre aide !!!