Ne voir que 2 chiffre après la virgule

Magzonex

XLDnaute Junior
Allo

Comment faire pour ne voir que 2 chiffre après la vigule, cars il me donne 3 a 4 chiffre après la virgule se qui n'est pas le bon résultat.

voici mon code

Private Sub TextBox210_Change()
TextBox250 = Val(Replace(TextBox210, ",", ".")) * 0.05
End Sub
Private Sub TextBox250_Change()
TextBox256 = Val(Replace(TextBox210, ",", ".")) + Val(Replace(TextBox250, ",", "."))
End Sub
Private Sub TextBox256_Change()
TextBox251 = Val(Replace(TextBox256, ",", ".")) * 0.085
End Sub
Private Sub TextBox251_Change()
TextBox252 = Val(Replace(TextBox256, ",", ".")) + Val(Replace(TextBox251, ",", "."))
End Sub
Private Sub TextBox78_Change()
TextBox230 = Val(Replace(TextBox78, ",", ".")) * 40#
End Sub
Private Sub TextBox230_Change()
TextBox261 = Val(Replace(TextBox230, ",", ".")) + Val(Replace(TextBox252, ",", "."))
End Sub

merci
 

Magzonex

XLDnaute Junior
Re : Ne voir que 2 chiffre après la virgule

Allo

vos deux méthode marche très bien pour le premier textbox mais comment l'adapter au suivant

TextBox256 = Val(Replace(TextBox210, ",", ".")) + Val(Replace(TextBox250, ",", "."))

j'ai tenter plusieur méthode de vos formule ,mais je n'arrive pas

merci
 

Magzonex

XLDnaute Junior
Re : Ne voir que 2 chiffre après la virgule

Allo

voici mon code modifier

Private Sub TextBox210_Change()
TextBox250 = Val(Replace(TextBox210, ",", ".")) * 0.05
End Sub
Private Sub TextBox250_Change()
TextBox256 = Format(Val(Replace(TextBox210, ",", ".")) + Val(Replace(TextBox250, ",", ".")), "0.00")
End Sub
Private Sub TextBox256_Change()
TextBox251 = Val(Replace(TextBox256, ",", ".")) * 0.085
End Sub
Private Sub TextBox251_Change()
TextBox252 = Format(Val(Replace(TextBox256, ",", ".")) + Val(Replace(TextBox251, ",", ".")), "0.00")
End Sub
Private Sub TextBox78_Change()
TextBox230 = Val(Replace(TextBox78, ",", ".")) * 40#
End Sub
Private Sub TextBox230_Change()
TextBox261 = Format(Val(Replace(TextBox230, ",", ".")) + Val(Replace(TextBox252, ",", ".")), "0.00")
End Sub

dans se format la tout fonction pour le résultat sauf que j'ai toujours plus de 2 chiffres après la virgule pour seleument les textbox

TextBox250 = Val(Replace(TextBox210, ",", ".")) * 0.05

TextBox251 = Val(Replace(TextBox256, ",", ".")) * 0.085

si je met l,une ou l'autre des formules que vous m'avez donnée

TextBox250 = Format(Val(Replace(TextBox210, ",", ".")) * 0.05, "# ##0.00")

TextBox250 = Format(Val(Replace(TextBox210, ",", ".")) * 0.05, "0.00")

le résultat n'ext pas le bon.... oufff pas évident

merci encore.
 

Magzonex

XLDnaute Junior
Re : Ne voir que 2 chiffre après la virgule

Allo

je résume chez moi

1,98 montant avant taxe
0.099 taxe 5% ( j'iamerais avoir 0.10)
2,08 sous total
0,1768 taxe 8,5% (j'aimerais avoir 0,18)
2,26 Total

si je met

TextBox250 = Format(Val(Replace(TextBox210, ",", ".")) * 0.05, "0.00")

TextBox251 =Format( Val(Replace(TextBox256, ",", ".")) * 0.085, "0.00")

ça me donne

1,98 montant avant taxe
0.10 taxe 5%
2,00 sous total (comment le sous total peux être de 2,00 si 1,98 + 0,10 = 2.08)
0,17 taxe 8,5%
2,17 Total

moi ça me donne ça..... ses louche. Cars tout les formats sont OK juste l'adittion de 1,98 (textbox211) + 0,10 (textbox250) qui ne marche pas !!!!

Private Sub TextBox250_Change()
TextBox256 = Format(Val(Replace(TextBox210, ",", ".")) + Val(Replace(TextBox250, ",", ".")), "0.00")
End Sub


merci
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Ne voir que 2 chiffre après la virgule

Re :),
Il est possible que la fonction Format, contrairement au format de cellule, reprenne l'expression littérale et non l'arrondi ;)...
Donc avec une fonction Round intercallée, ça devrait le faire :p...
Code:
TextBox250 = Format(Round(Val(Replace(TextBox210, ",", ".")) * 0.05, 2), "0.00")
A plus :cool:.
PS : Euh, les TextBox, comme leur nom l'indique, c'est fait pour mettre du texte, pas des calculs :eek:...
 

Magzonex

XLDnaute Junior
Re : Ne voir que 2 chiffre après la virgule

Allo

non ça ne marche pas plus JNP...

je le met ici .. a vous de bien vouloir regarder
le tout se trouve dans le code de userform 1

Private Sub TextBox210_Change()
TextBox250 = Val(Replace(TextBox210, ",", ".")) * 0.05
End Sub
Private Sub TextBox250_Change()
TextBox256 = Format(Val(Replace(TextBox210, ",", ".")) + Val(Replace(TextBox250, ",", ".")), "0.00")
End Sub
Private Sub TextBox256_Change()
TextBox251 = Val(Replace(TextBox256, ",", ".")) * 0.085
End Sub
Private Sub TextBox251_Change()
TextBox252 = Format(Val(Replace(TextBox256, ",", ".")) + Val(Replace(TextBox251, ",", ".")), "0.00")
End Sub
Private Sub TextBox78_Change()
TextBox230 = Val(Replace(TextBox78, ",", ".")) * 40#
End Sub
Private Sub TextBox230_Change()
TextBox261 = Format(Val(Replace(TextBox230, ",", ".")) + Val(Replace(TextBox252, ",", ".")), "0.00")
End Sub

Merci Cijoint.fr - Service gratuit de dépôt de fichiers
 

JNP

XLDnaute Barbatruc
Re : Ne voir que 2 chiffre après la virgule

Re :),
Entre le fait que ton usine à gaz ne fonctionne pas chez moi (appel à DLL32, objet Calendar ou DTPicker manquant, etc..), et que pour chercher dans le code, il faut avoir le temps, difficile à dire :rolleyes:...
Je t'ai fait un exemple que j'ai testé, aucun problème:
TB1 : 2 -> TB2 : 1,212 -> TB3 : 2,42
TB1 : 2 -> TB2 : 1,213 -> TB3 : 2,43
Au dela, je ne vois pas où est ton problème :confused:...
Bon courage :cool:
 

Pièces jointes

  • Magzonex.xlsm
    13.6 KB · Affichages: 66

Magzonex

XLDnaute Junior
Re : Ne voir que 2 chiffre après la virgule

Allo JNP

je comprend pas pourquois il ne fonctionne pas chez toi ... moi il fonctionne très bien sur 3 de mes ordi .. la seule chose que je vois ses que tu est en excel 2003.... et que moi il est fait avec excel 2007

j'ai essaier de voir ton exemple et il n'y a rien dedans ???? il est vide ???

j'avais mis mon fichier pour que tu regarde le deux formule que vous m'avez donner .. pour te montrer que sois oui tout mes résultat on 2 chiffre après la virgule mais que le calcul est faux .. et de l'autre façon que j'ai 3 a 4 chiffre après la virgule, mais la le résultat est bon ...

je comprend rien

Résumer

Private Sub TextBox210_Change()
TextBox250 = Val(Replace(TextBox210, ",", ".")) * 0.05
End Sub
Private Sub TextBox250_Change()
TextBox256 = Format(Val(Replace(TextBox210, ",", ".")) + Val(Replace(TextBox250, ",", ".")), "0.00")
End Sub
Private Sub TextBox256_Change()
TextBox251 = Val(Replace(TextBox256, ",", ".")) * 0.085
End Sub
Private Sub TextBox251_Change()
TextBox252 = Format(Val(Replace(TextBox256, ",", ".")) + Val(Replace(TextBox251, ",", ".")), "0.00")
End Sub
Private Sub TextBox78_Change()
TextBox230 = Val(Replace(TextBox78, ",", ".")) * 40#
End Sub
Private Sub TextBox230_Change()
TextBox261 = Format(Val(Replace(TextBox230, ",", ".")) + Val(Replace(TextBox252, ",", ".")), "0.00")
End Sub

1,98 montant avant taxe
0.099 taxe 5% ( j'iamerais avoir 0.10)
2,08 sous total
0,1768 taxe 8,5% (j'aimerais avoir 0,18)
2,26 Total

si je met

TextBox250 = Format(Val(Replace(TextBox210, ",", ".")) * 0.05, "0.00")

TextBox251 =Format( Val(Replace(TextBox256, ",", ".")) * 0.085, "0.00")

ça me donne

1,98 montant avant taxe
0.10 taxe 5%
2,00 sous total (comment le sous total peux être de 2,00 si 1,98 + 0,10 = 2.08)
0,17 taxe 8,5%
2,17 Total

moi ça me donne ça..... ses louche. Cars tout les formats sont OK juste l'adittion de 1,98 (textbox211) + 0,10 (textbox250) qui ne marche pas !!!!


merci de bien vouloir m'aider .. il me manque juste ça pour que le projet sois fini
 

JNP

XLDnaute Barbatruc
Re : Ne voir que 2 chiffre après la virgule

Re :),
je comprend pas pourquois il ne fonctionne pas chez toi ... moi il fonctionne très bien sur 3 de mes ordi .. la seule chose que je vois ses que tu est en excel 2003.... et que moi il est fait avec excel 2007
Tout simplement parce que je suis en Excel 2010 (pas 2003) en 64 bits (et non 32 bits), et que sous 64 bits, les appels à DLL 32 doivent être modifiées pour pouvoir fonctionner. De plus, tu utilises un calendrier ou un DTPicker dans un autre USF qui n'est pas présent sur ma machine :rolleyes:...

j'ai essaier de voir ton exemple et il n'y a rien dedans ???? il est vide ???
Il est pas vide, il suffit d'aller sur VBE et de lancer l'USF avec F5 :p...

moi ça me donne ça..... ses louche. Cars tout les formats sont OK juste l'adittion de 1,98 (textbox211) + 0,10 (textbox250) qui ne marche pas !!!!
Ce qui est louche, c'est que rien dans ton code n'aditionne textbox211 et textbox250 :eek:...
Si tu prends les valeurs brutes et pas les valeurs arrondies, effectivement, les arrondis ne donneront pas le bon résultat...
Maintenant, attention, l'euro se manipule avec 3 décimales, ce n'est qu'au final que tu as le droit d'arrondir ;)...
Bon courage :cool:
 

Fo_rum

XLDnaute Accro
Re : Ne voir que 2 chiffre après la virgule

Bonjour,

les contrôles étant dépendants, te pourrais te contenter d'un seul changement ainsi :
Code:
Private Sub TextBox210_Change()
  TextBox210 = Replace(TextBox210, ".", ",")
  TextBox250 = Round(CDbl(TextBox210) * 0.05, 2)
  TextBox256 = Round(CDbl(TextBox210) + CDbl(TextBox250), 2)
  TextBox251 = Round(CDbl(TextBox210) * 0.085, 2)
  TextBox252 = Round(CDbl(TextBox210) + CDbl(TextBox251), 2)
End Sub
Replace(TextBox210, ".", ",") ou Replace(TextBox210, ",", ". ") selon le système de base
, 2) ou ,3) selon le nombre de décimales voulues.
 

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 330
Membres
103 519
dernier inscrit
Thomas_grc11