Microsoft 365 Resultat de Calculs multiples dans textbox

eric72

XLDnaute Accro
Bonjour à tous,

Je rencontre un problème de calcul de differentes textbox avec le resultat dans une textbox "CoutRevient",
j'aimerais qu'à chaque saisie "CoutRevient" se mette à jour, même si une cellule reste à 0 (exemple, il y a un pot mais sans emballage , le calcul se fait quand même) mais je désespère un peu !!!
Cela concerne le Userform
Quelqu'un peut-il m'aider?
Merci beaucoup
Eric
 

Pièces jointes

  • Fiche Produit test.xlsm
    281 KB · Affichages: 12

eric72

XLDnaute Accro
Et ça :
Private Property Let Mnt(ByVal TBx As MSForms.TextBox, ByVal RHS As Variant)
On Error Resume Next
TBx.Text = Format(RHS, "0.00 €")
If Err Then TBx.Text = ""
End Property
Private Property Get Mnt(ByVal TBx As MSForms.TextBox)
On Error Resume Next
Mnt = CCur(TBx.Text)
If Err Then Mnt = Empty
End Property
je dois le mettre dans le code de l'Userform, désolé je suis un vrai boulet!!!
Merci
Eric
 

Dranreb

XLDnaute Barbatruc
Non, dans l'UserForm c'est bien. Il faut juste vérifier s'il y a quelque chose dans les TextBox avant de faire le calcul et sinon l'y mettre d'abord. Utilisez Mnt pour tout transfert de montant. Pour des quantités une autre paire de Property serait plus indiquée avec CDbl au lieu de CCur et sans "€" dans le Format.
 

eric72

XLDnaute Accro
Et ce code ci
Mnt(CoutRevient) = (Mnt(PrixAchatPlante) * Mnt(TransPlante)) + Mnt(PrixAchatPlante) + Mnt(PrixPot) + (Mnt(PrixPlaque) / Mnt(NbPlantePlaque)) _
+ (Mnt(TxtCoutHrMO) * Mnt(TxtTempsMO)) + Mnt(PrixChromo) + Mnt(PrixEntourage) + Mnt(PrixEtiquette) + Mnt(PrixCdt) + Mnt(TxtSoie) _
+ Mnt(TxtCordelette) + Mnt(TxtEtiquetteCarton) + Mnt(Mousseline) + Mnt(Kraft) + Mnt(DsSmith) + Mnt(TxtPrixAccessoire) + (Mnt(PoidsPlante) * Mnt(PrixKgPlante))
il faut bien que je le mette dans un module non?
Désolé je ne comprends pas, cela vous ennuie-t-il de l'insérer dans mon fichier (sans vouloir abuser)?
Merci
 

eric72

XLDnaute Accro
j'ai fait comme ça:

Private Property Let Mnt(ByVal TBx As MSForms.TextBox, ByVal RHS As Variant)
On Error Resume Next
TBx.Text = Format(RHS, "0.00 €")
If Err Then TBx.Text = ""
Mnt(CoutRevient) = (Mnt(PrixAchatPlante) * Mnt(TransPlante)) + Mnt(PrixAchatPlante) + Mnt(PrixPot) + (Mnt(PrixPlaque) / Mnt(NbPlantePlaque)) _
+ (Mnt(TxtCoutHrMO) * Mnt(TxtTempsMO)) + Mnt(PrixChromo) + Mnt(PrixEntourage) + Mnt(PrixEtiquette) + Mnt(PrixCdt) + Mnt(TxtSoie) _
+ Mnt(TxtCordelette) + Mnt(TxtEtiquetteCarton) + Mnt(Mousseline) + Mnt(Kraft) + Mnt(DsSmith) + Mnt(TxtPrixAccessoire) + (Mnt(PoidsPlante) * Mnt(PrixKgPlante))

End Property
Private Property Get Mnt(ByVal TBx As MSForms.TextBox)
On Error Resume Next
Mnt = CCur(TBx.Text)
If Err Then Mnt = Empty
Mnt(CoutRevient) = (Mnt(PrixAchatPlante) * Mnt(TransPlante)) + Mnt(PrixAchatPlante) + Mnt(PrixPot) + (Mnt(PrixPlaque) / Mnt(NbPlantePlaque)) _
+ (Mnt(TxtCoutHrMO) * Mnt(TxtTempsMO)) + Mnt(PrixChromo) + Mnt(PrixEntourage) + Mnt(PrixEtiquette) + Mnt(PrixCdt) + Mnt(TxtSoie) _
+ Mnt(TxtCordelette) + Mnt(TxtEtiquetteCarton) + Mnt(Mousseline) + Mnt(Kraft) + Mnt(DsSmith) + Mnt(TxtPrixAccessoire) + (Mnt(PoidsPlante) * Mnt(PrixKgPlante))

End Property

Mais ça ne fonctionne pas!!!
désolé
Eric
 

Discussions similaires

Réponses
15
Affichages
494

Statistiques des forums

Discussions
312 185
Messages
2 086 012
Membres
103 093
dernier inscrit
Molinari