Afficher deux décimales dans une TextBox

Y compris Power BI, Power Query et toute autre question en lien avec Excel
w
waletm
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 11 juillet 2018
Version d'Excel : 2010

Message par waletm » 19 septembre 2019, 15:57

Bonjour,

Dans le fichier ci-joint, dans le feuille "Suivi_des_commandes" en cliquant sur le "F" rouge, je déclenche un formulaire.

Dans ce formulaire, en face de la TextBox "MONTANT TTC" et à l'aide du petit bouton de couleur jaune, j'appelle un autre formulaire qui doit me servir à calculer le montant total TTC (afficher dans la TextBox Montant TTC donc).

Tout fonctionne lorsque je saisis des montants HT en choisissant des taux de TVA variables, les calculs s'opèrent correctement. Seulement, j'aperçois que lorsque la TextBox "MONTANT TTC" doit recevoir des décimales (je souhaiterais avoir 2 décimales), et bien ça coince, et le résultat trouver reste à .00e ?

Exemple : si dans le formulaire où je dois saisir les montants HT + taux TVA, je saisie montant HT : 100e et Taux TVA = 5,50% et que je clique sur le bouton "CALCULER", le résultat afficher dans la TextBoxMontantTTC du premier formulaire est 105,00e. Or, le résultat exact est 105,50e ?

Quelqu'un aurait-il une idée pour afficher deux décimales quand le résultat l'exige.

Vous remerciant par avance.
bon_de_commande _V.1.4.xlsm
(199.75 Kio) Téléchargé 10 fois
T
Theze
Passionné d'Excel
Passionné d'Excel
Messages : 3'862
Appréciations reçues : 282
Inscrit le : 26 janvier 2011
Version d'Excel : 2007

Message par Theze » 19 septembre 2019, 17:24

Bonjour,

Remplace le code ci-dessous :
Private Sub CommandButtonCalculer_Click()

Ligne1 = Val(Montant_Commandes.TextBoxBaseHT1) + (Val(Montant_Commandes.TextBoxBaseHT2) * (Val(Montant_Commandes.ComboBoxTauxTVA1) / 100))
Ligne2 = Val(Montant_Commandes.TextBoxBaseHT2) + (Val(Montant_Commandes.TextBoxBaseHT2) * (Val(Montant_Commandes.ComboBoxTauxTVA2) / 100))
Ligne3 = Val(Montant_Commandes.TextBoxBaseHT3) + (Val(Montant_Commandes.TextBoxBaseHT3) * (Val(Montant_Commandes.ComboBoxTauxTVA3) / 100))

Commandes.TextBoxMontantTTC = Ligne1 + Ligne2 + Ligne3

End Sub

Par celui-ci :
Private Sub CommandButtonCalculer_Click()

    Ligne1 = CDbl(Replace(TextBoxBaseHT1, " €", "")) * (1 + CDbl(Replace(ComboBoxTauxTVA1, "%", "")) / 100)
    Ligne2 = CDbl(Replace(TextBoxBaseHT2, " €", "")) * (1 + CDbl(Replace(ComboBoxTauxTVA2, "%", "")) / 100)
    Ligne3 = CDbl(Replace(TextBoxBaseHT3, " €", "")) * (1 + CDbl(Replace(ComboBoxTauxTVA3, "%", "")) / 100)
    
    Commandes.TextBoxMontantTTC = Round(Ligne1 + Ligne2 + Ligne3, 2)

End Sub
Il serait préférable de ne pas ajouter le symbole de la monnaie et du pourcentage dans les TextBox et ComboBox mais plutôt de mettre à coté des Labels avec ces signes, ça éviterait les Replace() et le code deviendrait :
Private Sub CommandButtonCalculer_Click()

    Ligne1 = CDbl(TextBoxBaseHT1) * (1 + CDbl(ComboBoxTauxTVA1) / 100)
    Ligne2 = CDbl(TextBoxBaseHT2) * (1 + CDbl(ComboBoxTauxTVA2) / 100)
    Ligne3 = CDbl(TextBoxBaseHT3) * (1 + CDbl(ComboBoxTauxTVA3) / 100)
    
    Commandes.TextBoxMontantTTC = Round(Ligne1 + Ligne2 + Ligne3, 2)

End Sub
Il vaut mieux un qui sait que cent qui cherchent :wink:

Ce forum étant un lieu de partage, je n'accepte pas les messages privés !
w
waletm
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 11 juillet 2018
Version d'Excel : 2010

Message par waletm » 19 septembre 2019, 19:44

Bonjour,

Je vous remercie pour votre aide. Néanmoins, j'ai un débogage sur :

Ligne2= Val……………..

Je viens de penser à une manipulation beaucoup simple qui me permettrait de contourner les formulaires à foison.

En fait, si je pouvais, avec une condition, dire : si la référence contenue en"B1" de la feuille "Bon_de_commande" est trouvée dans la colonne [A] du tableau qui se situe dans la feuille "Suivi_des_commandes", alors le montant TTC en J41 de la feuille "Bon_de_commande" doit être inscrit dans la colonne N du tableau situé dans la feuille "Suivi_des_commandes" en face de la référence qui aura été identifiée.

Cela résoudrait mon problème !

Bien à vous,
T
Theze
Passionné d'Excel
Passionné d'Excel
Messages : 3'862
Appréciations reçues : 282
Inscrit le : 26 janvier 2011
Version d'Excel : 2007

Message par Theze » 20 septembre 2019, 07:17

Bonjour,
Je vous remercie pour votre aide. Néanmoins, j'ai un débogage sur :
Ligne2= Val……………..
Ai-je utilisé Val() dans le code que j'ai proposé ? Non alors...
Il vaut mieux un qui sait que cent qui cherchent :wink:

Ce forum étant un lieu de partage, je n'accepte pas les messages privés !
w
waletm
Jeune membre
Jeune membre
Messages : 30
Inscrit le : 11 juillet 2018
Version d'Excel : 2010

Message par waletm » 20 septembre 2019, 09:03

Bonjour,

Autant pour moi, le débogage est sur :

Ligne2 = CDbl(Replace(TextBoxBaseHT2, " €", "")) * (1 + CDbl(Replace(ComboBoxTauxTVA2, "%", "")) / 100)

Je vais essayer de résoudre la situation avec une fonction qui me permettra de reporter le montant TTC de la feuille "Bon_de_commande" dans le tableau de la feuille " Suivi_des_commandes". Ainsi, mon problème serait résolu.

Bien à vous,
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message