Multiplication avec pourcentage et décimales sur Userform

Bonsoir,

C’est ma première question sur VBA Excel 2016.

Ma question est la suivante:

J’ai une combox avec une valeur en pourcentage avec deux décimales, j’ai une textbox libre pour ajouter n’importe quelle valeur monétaire et le résultat du calcul sur une deuxième textbox avec décimales.

Je n’arrive pas à faire fonctionner le calcul... 😔. Merci de votre aide! Salutations.

Bonjour,

Un exemple avec la méthode "Evaluate()". Ici, sur la procédure événementielle "Change()" de TextBox1. A voir comment sont tes pourcentages, sous la forme 0,5555 ou 55,55% ?

Private Sub TextBox1_Change()

    On Error Resume Next 'gère l'erreur due à la virgule (et à tout autre caractère pour le test !)
    TextBox2.Text = Evaluate(TextBox1.Text * ComboBox1.Text)

End Sub

Bonjour le forum

un essai

65excel-lent2019.xlsm (18.36 Ko)

re bonjour

oup's

javais pas vu these dédolé

Merci beaucoup pour votre aide. Maintenant j’aurais voulu formater la combobox en « % » et la textbox de résultat en « Currency ». Salutations.

Bonjour,

Les formats des contrôles sont systématiquement du String, donc il te faut bidouiller pour avoir ce que tu demandes ;

Private Sub UserForm_Initialize()

Dim I As Integer

    For I = 1 To 10

        ComboBox1.AddItem Format(I / 10 + 0.005, "#0.00%") 'pour le test

    Next I

End Sub

Private Sub TextBox1_Change()

    On Error Resume Next 'gère l'erreur due à la virgule (et à tout autre carractère pour le test !)
    TextBox2.Text = Format(Evaluate(TextBox1.Text * Replace(ComboBox1.Text, "%", "") / 100), "#0.00 €")

End Sub

Merci beaucoup These,

S’il n’a pas de nouvelles c’est que ça a bien fonctionné. Je vais l’essayer.

Salutations depuis la Suisse.

Excel-lent!

Si c'est pour la Suisse, c'est plutôt :

TextBox2.Text = Format(Evaluate(TextBox1.Text * Replace(ComboBox1.Text, "%", "") / 100), "#0.00 CHF")

Rechercher des sujets similaires à "multiplication pourcentage decimales userform"