OVH Cloud OVH Cloud

calcul dans userform

3 réponses
Avatar
Uwaga
Bonsoir,

Dans un userform existant, je souhaiterais prendre la valeur d'un
textbox (qui est en fait un prix), y ajouter la TVA, et l'inserer dans
mon texte.

J'arrive bien a creer le userform et inserer des textes a des endroits
predefinis par des signets. En revanche la partie de calcul me pose
probleme : faut il un champ 'calcul' ou peut on calculer le prix TTC par
vba et ensuite l'inserer par un signet ?

Je vous remercie pour votre aide,

3 réponses

Avatar
Geo

Bonsoir,

Dans un userform existant, je souhaiterais prendre la valeur d'un textbox (qui est en
fait un prix), y ajouter la TVA, et l'inserer dans mon texte.

J'arrive bien a creer le userform et inserer des textes a des endroits predefinis par
des signets. En revanche la partie de calcul me pose probleme : faut il un champ
'calcul' ou peut on calculer le prix TTC par vba et ensuite l'inserer par un signet ?


Si vous avez une TextBox dans lequel vous avez le prix HT, vous le
récupérez sans doute sous forme de texte
Qqch comme :
Dim Prixht as string
Prixht = texteBox1.Text

Vérifiez que c'est bien une valeur numérique qui y est écrite.
If isNumeric(Prixht) .....
Sinon le calcul va donner un résultat un peu bizarre
le calcul, lui, sera de la forme :
dim PrixTTC as Double
PrixTTC = val(Prixht) *1.196

Et pour insérer le résultat il faut traduire ce nombre en chaîne de
caractères avec deux décimales:
Selection.insertafter format(PrixTTC, "###,###,##0.00")
On donne le format américain mais si votre paramètres régionaux sont
correct le résultat sera à la française.

--
A+

Avatar
Jean-Guy Marcil
Uwaga was telling us:
Uwaga nous racontait que :

Bonsoir,

Dans un userform existant, je souhaiterais prendre la valeur d'un
textbox (qui est en fait un prix), y ajouter la TVA, et l'inserer dans
mon texte.

J'arrive bien a creer le userform et inserer des textes a des endroits
predefinis par des signets. En revanche la partie de calcul me pose
probleme : faut il un champ 'calcul' ou peut on calculer le prix TTC
par vba et ensuite l'inserer par un signet ?

Je vous remercie pour votre aide,


Voici un example qui pourrait t'aider:

Dim rgePrix As Range
Const strBookMarkName As String = "Test"

With ActiveDocument
Set rgePrix = .Bookmarks(strBookMarkName).Range
rgePrix.Text = CStr(Format(CLng(Me.TextBox1) * 1.15, "#0.00"))
.Bookmarks.Add strBookMarkName, rgePrix
End With

J'insere le résultat du calcul dans un signet et je replace le signet tout
de suite au cas ou j'en aurais besoin à nouveau.


--

Salut!
_______________________________________
Jean-Guy Marcil - Word MVP

Word MVP site: http://www.word.mvps.org

Avatar
Jean-Guy Marcil
Jean-Guy Marcil was telling us:
Jean-Guy Marcil nous racontait que :

Uwaga was telling us:
Uwaga nous racontait que :

Bonsoir,

Dans un userform existant, je souhaiterais prendre la valeur d'un
textbox (qui est en fait un prix), y ajouter la TVA, et l'inserer
dans mon texte.

J'arrive bien a creer le userform et inserer des textes a des
endroits predefinis par des signets. En revanche la partie de calcul
me pose probleme : faut il un champ 'calcul' ou peut on calculer le
prix TTC par vba et ensuite l'inserer par un signet ?

Je vous remercie pour votre aide,


Voici un example qui pourrait t'aider:

Dim rgePrix As Range
Const strBookMarkName As String = "Test"

With ActiveDocument
Set rgePrix = .Bookmarks(strBookMarkName).Range
rgePrix.Text = CStr(Format(CLng(Me.TextBox1) * 1.15, "#0.00"))
.Bookmarks.Add strBookMarkName, rgePrix
End With

J'insere le résultat du calcul dans un signet et je replace le signet
tout de suite au cas ou j'en aurais besoin à nouveau.


Oops... on derait voir
rgePrix.Text = CStr(Format(CSng(Me.TextBox1) * 1.15, "#0.00"))
au lieu de
rgePrix.Text = CStr(Format(CLng(Me.TextBox1) * 1.15, "#0.00"))

car CLng va créer une erreur avec des nombres décimaux.

--

Salut!
_______________________________________
Jean-Guy Marcil - Word MVP

Word MVP site: http://www.word.mvps.org