Private Sub TextBox2_AfterUpdate()
TextBox2 = Replace(TextBox2, ".", ",")
rend = CDbl(TextBox2) - CDbl(TextBox1)
TextBox3 = Format(rend, "#,##0.00")
End Sub
Toutafé. C'est d'ailleurs ce que j'ai signalé hier.si ce n'est que hervé62 oublie qu'un textbox c'est du string
et que par conséquent par exemple val("1,5") =1 car le séparateur pour val est le point
Private Sub TextBox2_AfterUpdate()
rend = Val(Replace(TextBox2, ",", ".")) - Val(Replace(TextBox1, ",", "."))
TextBox3 = Format(rend, "#,##0.00")
End Sub
reBonjour à tous,
Val fait très bien l'affaire mais il faut remplacer la virgule par le point :
Fonctionne quel que soit le séparateur décimal de l'ordi, ce qui n'est pas le cas du post #19.VB:Private Sub TextBox2_AfterUpdate() rend = Val(Replace(TextBox2, ",", ".")) - Val(Replace(TextBox1, ",", ".")) TextBox3 = Format(rend, "#,##0.00") End Sub
A+
Non, je ne crois pas.@patricktoulon : non !!!! je sais , dans Textbox il y a TEXT !!! d'ailleurs dans mon appli j'utilise VAL à chaque fois . A la racine c'est le POINT qui me bloquait ...tout simplement
En fait je n'avais jamais été modifier le séparateur décimal Windows.re
ha bon ?
Sub Test()
MsgBox CDbl("8,5") 'virgule
MsgBox CDbl("8.5") 'point
End Sub
avec Val !!!!!il est tronqué par avec CDblComme je l'ai dit en #5, c'est plutôt la virgule qui te posait problème car, comme l'a expliqué Patricktoulon en #19, le fait qu'il y ait une virgule tronquait la valeur à sa partie entière.
Oui. Je crois me rappeler que c'était VAL qu'il utilisait. Donc c'est pour ça que ça ne prenait que la partie entière. S'il y avait eu un point à la place de la virgule, il n'y aurait pas eu ce problème de valeur tronquée.avec Val !!!!!il est tronqué par avec CDbl