Userform et Multiplication avec chiffre décimaux

Garion

XLDnaute Nouveau
Bonjour à tous.

Je viens trouver votre aide car j'ai pas trouver de solution à mon problème malgré mes recherches.

Voila j'ai un fichier contenant plusieurs userform (fichier de gestion de stock : stock, fournisseur,...) et dans une des userform, je calcul le prix total de mon stock (textbox12). En faite la multiplication est le produit du nombre de pièce (textbox1) et du prix unitaire de la pièce (textbox11).

Pour info, la textbox9 représente le stock mini et la texbox10 l'écart entre le stock mini et le stock réel.

1/Le problème, est que les nombres décimaux ne sont pas pris en compte et font planter la multiplication. I-a-t-il une solution a mon problème ?

Merci beaucoup d'avance.

Garion

PS: Voila une partie du code :
Code:
Private Sub TextBox1_exit(ByVal cancel As MSForms.ReturnBoolean)

If TextBox1.Value = "" Then
Exit Sub
Else
TextBox1.Value = Format(Evaluate(TextBox1.Value), "#########")
TextBox1 = CDbl(TextBox1.Value)
End If
End Sub

Private Sub TextBox9_exit(ByVal cancel As MSForms.ReturnBoolean) ' ecart au mini
If TextBox9.Value = "" Then
Exit Sub
Else
TextBox9.Value = Format(Evaluate(TextBox9.Value), "#########")
TextBox1 = CDbl(TextBox1.Value)
TextBox10.Text = Val(TextBox1.Text) - Val(TextBox9.Text) ' ecart
End If

End Sub

Private Sub TextBox10_exit(ByVal cancel As MSForms.ReturnBoolean)

If TextBox10.Value = "" Then
Exit Sub
Else
TextBox10.Value = Format(Evaluate(TextBox10.Value), "#########")
TextBox10 = CDbl(TextBox10.Value)
End If
End Sub

Private Sub TextBox11_Exit(ByVal cancel As MSForms.ReturnBoolean)

If TextBox11.Value = "" Then
Exit Sub
Else
TextBox11.Value = Replace(TextBox11.Value, ".", ",")
TextBox11 = Format(Evaluate(TextBox11.Value), "#,####0.0000 €")
TextBox11.Value = CDbl(TextBox11.Value)
TextBox12 = Format(CLng(TextBox1) * CCur(TextBox11), "#,####0.0000 €")
TextBox12 = CDbl(TextBox12.Value)
End If
End Sub

Private Sub TextBox12_Change()

End Sub
 

GCFRG

XLDnaute Occasionnel
Re : Userform et Multiplication avec chiffre décimaux

Salut, le format des textbox est au format texte, Cdbl ne suffit pas, le mieux est de récupérer la valeur de la textbox dans une variable de "taille" Single
tu peux esayer çà,
tu crées 3 variables
Sub Test()
Dim Qu as Single, TBu as single,TBpt as single
TBu = Cdbl(me.TextBox1.Value)
Qu = Cdbl(me.TextBox2.Value)
TBpt = TBu * Qu
me.TextBox3.value = Format(CDbl(TBpt), "00.00")
End Sub
si format monétaire:
me.TextBox2.value = Format(CDbl(TBpt), "0.00 €")

de tête, donc à tester à tester

si pb reviens

Gilbert
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Userform et Multiplication avec chiffre décimaux

Bonsoir,
Pour info
Code:
Val("12,5") 'renvoie 12
Val("12.5") 'renvoie 12,5
Pourquoi ne pas mettre le calcul dans une procédure indépendante et lancer cette procédure à chaque réactualisation de tes TextBox(es)
Code:
Sub MajTotal()
TextBox12 = ...
End Sub

Private Sub TextBoxX_AfterUpdate()
MajTotal
End Sub
A+
kjin
 

Discussions similaires

Réponses
12
Affichages
500
Réponses
6
Affichages
289

Statistiques des forums

Discussions
312 505
Messages
2 089 098
Membres
104 031
dernier inscrit
RimeF