Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
With TextBox1
x = Replace(.Value, " Kg", "")
Select Case KeyCode
Case 96 To 105
If x <> "" Then If Len(Int(x)) > 2 And Not x Like "*,*" Then KeyCode = 0: Exit Sub 'max len 3 pour l'entier
If x <> "" Then If Len(Replace(x, Val(Int(x)), "")) >= 3 Then KeyCode = 0: Exit Sub' max len 2 pour les decimal
x = x & Chr(KeyCode + IIf(KeyCode < 96, 32, -48))
Case 110, 188: If Not x Like "*,*" Then x = x & ","
Case 8: x = Left(x, Len(x) - IIf(x <> "", 1, 0))
Case 46: x = Left(x, .SelStart)
Case Else: KeyCode = 0
End Select
.Value = x
If .Value <> "" Then .Value = .Value & " Kg"
.SelStart = Len(x)
End With
KeyCode = 0
End Sub