le résultat des sommes (textBox) ne donne pas les décimales

Magzonex

XLDnaute Junior
Allo

je vous explique mon problème.

j'ai dans un userform plusieur textbox qui s'addittionne ensemble donc le résultat n'est pas correct

3,75 + 3,75 = 8,00 ( le bon resultat serais de 7,50 ) voici ma formule...


Sub TextBox181_Change()
calculsomme
End Sub
Sub TextBox182_Change()
calculsomme
End Sub
Sub calculsomme()
TextBox211 = Val(TextBox181) + Val(TextBox182)
TextBox211 = Format(TextBox211.Value, "#,##0.00")
End Sub

d'ou viens mon problème .... (dans le format...)

Quelq'un a une idée

Merci
 
Dernière édition:

julberto

XLDnaute Occasionnel
Re : le résultat des sommes (textBox) ne donne pas les décimales

Bonjour Magzonex,

Tiré de l'aide d'Excel :
Dans l'exemple suivant, la fonction renvoie la valeur 161517 :

Val(" 1615 17e siècle")

Note La fonction Val ne reconnaît que le point comme séparateur décimal (.). Lors de l'utilisation d'autres séparateurs décimaux (applications internationales, par exemple), convertissez la chaîne en nombre à l'aide de la fonction CDbl.

Donc convertir les données issues des Textbox avec CDbl.
Et inversement renseigner un Textbox en convertissant en chaîne de caractàres.

cordialement.

voir ici par exemple : https://www.excel-downloads.com/threads/calcul-textbox.160511/
 
Dernière édition:

Magzonex

XLDnaute Junior
Re : le résultat des sommes (textBox) ne donne pas les décimales

Allo

une autre question ... de la façon que tu ma indiquer pas de trouble ça marche très bien pour le calcul .. mais si dans un des textbox je mais rien .. aucun calcul .. comment faire si dans un textbox on marque rien et que ça se calcul quan même

Private Sub TextBox181_Change()
On Error Resume Next
TextBox211 = CDbl(TextBox181) + CDbl(TextBox182) + CDbl(TextBox183)
End Sub
Private Sub TextBox182_Change()
On Error Resume Next
TextBox211 = CDbl(TextBox181) + CDbl(TextBox182) + CDbl(TextBox183)
End Sub
Private Sub TextBox183_Change()
On Error Resume Next
TextBox211 = CDbl(TextBox181) + CDbl(TextBox182) + CDbl(TextBox183)
End Sub

Merci
 

julberto

XLDnaute Occasionnel
Re : le résultat des sommes (textBox) ne donne pas les décimales

Bonjour Magzonex,

Si j'ai bien compris ta question.....
Normal, la procédure évènementielle "TextBoxX_Change" s’exécute toutes les fois où le TextBox concerné est modifié.

cordialement
 
Dernière édition:

Magzonex

XLDnaute Junior
Re : le résultat des sommes (textBox) ne donne pas les décimales

Alors comment changer la procédure évènementielle pour que si il n'y a pas de valeur dans le textbox conserné le reste se calcul ...

peux ton faire une boucle.. du textbox 181 a 200 qui fais la même fonction.. sois de calculer juste les textbox qui on une valeur et que la somme sois dans le textbox 211 en CDbl

merci
 

job75

XLDnaute Barbatruc
Re : le résultat des sommes (textBox) ne donne pas les décimales

Bonsoir,

Le calcul se fera toujours avec ces macros :

Code:
Private Sub TextBox181_Change()
Calcul
End Sub

Private Sub TextBox182_Change()
Calcul
End Sub

Private Sub TextBox183_Change()
Calcul
End Sub

Sub Calcul()
Dim v1, v2, v3
v1 = Val(Replace(TextBox181, ",", "."))
v2 = Val(Replace(TextBox182, ",", "."))
v3 = Val(Replace(TextBox183, ",", "."))
TextBox211 = Format(v1 + v2 + v3, "#,##0.00")
End Sub

A+
 
Dernière édition:

Statistiques des forums

Discussions
312 330
Messages
2 087 335
Membres
103 523
dernier inscrit
mounir2025