Conversion de format d'une textbox à une Cellule
Bonjour,
Je sais que ce sujet existe partout, mais franchement j'ai tout essayé et là je deviens carrément chèvre BEHHHHH
Voila le soucis: dans un userform j'ai un certain nombre de textbox dont le contenu à la validation doit être formaté en monétaire pour pouvoir ensuite être utilisé dans des formules, et quoi que je fasse y a toujours un truc qui déconne :
soit il me le garde en texte quand le chiffre dépasse le millier, soit c'est quand il y a des décimales, soit .....
Bref si quelqu'un pouvait m'aider avant que je me mette à brouter de l'herbe....
Voici un extrait du code :
je prend ici la Textbox_salaire, mais j'en ai 5 ou 6 comme ça
donc ca c'est une première mise en forme quant on quitte la textbox
Code:
1 2 3 4 5 6 7 8 9 10 11
|
Private Sub TextBox_Salaire_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With TextBox_Salaire
.Value = Format(TextBox_Salaire, "#'##0.00 ")
If .Value = "" Then
.Value = "Décimales avec une virgule : 12,00"
.ForeColor = RGB(128, 128, 128)
End If
End With
End Sub |
et Voici la seconde mise en forme à la validation du bouton enregistrer
Je vous préviens c'est très moche : tout ce que j'ai trouvé c'est de multiplier les changements de formats et les replace et ça marche..... presque :
- ok pour les nombres avec des milliers
- ok pour les nombres avec des décimales et des milliers
- ok pour les nombre avec des dizaines ou des centaines SANS décimales
- BUG pour les nombres avec des dizaines ou des centaines ET AVEC des décimales (PS, ça marche quand j'écris un nombre avec ",00" mais pas avec par exemple ",03")
Code:
1 2 3 4 5 6 7
|
.Cells(L1 + 12, 1) = TextBox_Salaire.Value
.Cells(L1 + 12, 1).NumberFormat = "#'##0.00 "
.Cells(L1 + 12, 1) = Replace(.Cells(L1 + 12, 1), ",", ".")
.Cells(L1 + 12, 1) = Replace(.Cells(L1 + 12, 1), "'", "")
.Cells(L1 + 12, 1).FormulaR1C1 = .Cells(L1 + 12, 1).Value
.Cells(L1 + 12, 1).NumberFormat = "#,##0.00 " |
Pitié que quelqu'un m'aide, m'apporte au moins une trace de piste de solution, je veux rester humaine moi