Bonjour Steelson et Xmenpl,
Merci pour vos recherches.
Steelson, j'arrive à ouvrir le fichier .xls.
J'ai apporté vos modifications, voilà ce que cela donne:
Exemple:
Nombre saisi: 100
Validation dans formulaire (touche entrée): 100,00
Affichage dans Excel: 100,00 reconnu en valeur numérique
Nombre saisi: 100,2
Validation dans formulaire (touche entrée): 100,2 (manque 1 décimale du coup)
Affichage dans Excel: 100,20 reconnu en valeur numérique
Nombre saisi: 1000
Validation dans formulaire (touche entrée): 1 000,00
Affichage dans Excel: 1 000,00 reconnu en texte
Nombre saisi: 1000,2
Validation dans formulaire (touche entrée): 1 000,2 (manque 1 décimale du coup)
Affichage dans Excel: 1 000,20 reconnu en valeur numérique
Nombre saisi: 1000,25
Validation dans formulaire (touche entrée): 1 000,25
Affichage dans Excel: 1 000,25 reconnu en valeur numérique
je vous remets mon code complet
TextBox2 = Replace(TextBox2.Value, ",", ".")
TextBox2 = Format(TextBox2, "# ##0.00")
TextBox2.Value = Replace(TextBox2, ".", ",")
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then KeyAscii = 0
If KeyAscii = Asc(".") Then KeyAscii = Asc(",")
If InStr(TextBox2, ",") > 0 And KeyAscii = Asc(",") Then KeyAscii = 0
If Len(Split(TextBox1 & ",0", ",")(1)) > 1 Then KeyAscii = 0
End Sub
Private Sub CommandButton1_Click()
Dim derligne As Integer
Sheets("Février").Select
derligne = Sheets("Février").Range("a65536").End(xlUp).Row + 1
Cells(derligne, 5) = Replace(TextBox2.Value, ",", ".")
Unload UserForm2
UserForm2.Show
End Sub
PS: sur un tuto, j'avais trouvé cela
If KeyAscii = 46 Then KeyAscii = 44
Merci encore pour votre implication