Problème de décimale avec Textbox et excel ?
Bonjour à tous,
Je souhaite créer un Userform classique qui alimente les données d'un tableau. L'une des colonnes de ce tableau se nomme "Taux Horaire". Comme son nom l'indique les valeurs inscrites dans cette colonne doivent être des nombres avec deux décimales maximum.
L'utilisateurs saisira donc le taux horaire en question à travers une Texbox. Cette TextBox vérifie si les valeurs saisies sont des chiffres, notamment grâce à ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Private Sub tx_horaire1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Vérifie si le tx horaire est bien un nombre, avec des décimales, et opère aux modification le cas contraire
Select Case KeyAscii
'seulement des chiffres
Case 48 To 57
'virgule et point, séparateur décimal
Case 44, 46
'seulement la virgule
If KeyAscii = 46 Then KeyAscii = 44
'seulement une fois
If InStr(tx_horaire1.Text, Chr(KeyAscii)) <> 0 Then KeyAscii = 0
'interdit le séparateur décimal en premier
If tx_horaire1.Text = "" Then If KeyAscii = 44 Then KeyAscii = 0
Case Else
tx_horaire1.Value = Null
MsgBox "Seulement numérique ! Deux décimales maximum."
End Select
End Sub |
Cependant, je rencontre un problème dont j'ignore totalement l'origine. Lorsque je saisie un nombre ayant plus de 2 décimales, le nombre récupéré par la cellule n'est pas le même d'une manière bien étrange.
Exemple :
- Si je saisi 50,50 dans ma textbox, aucun soucis je me retrouve avec 50,50 dans la cellule.
- Si saisi 50,505 dans ma textbox, là je me retrouve avec 50 505,00 dans la cellule.
A priori, l'origine du problème ne se trouve pas dans le code ci-dessous ; puisque j'ai essayé sans et le problème persiste.
Avez-vous une idée de ce que cela peut être ?
Bien à vous !