Macro Excel

Al'x -  
 Al'x -
Bonjour,

Je suis débutant en VBA pour Excel et je viens d'écrire ce programme :

Sub MargeUnitaire()

Dim dpa, tva, prix_de_vente_nation, taux_de_marge, marge_en_euro

dpa = InputBox("Entrez le DPA de l'article", "DPA", 0)

prix_de_vente_nation = InputBox("Entrez le prix de vente nation de l'article", "PVN", 0)

tva = 1.196

taux_de_marge = (1 - ((dpa * tva) / prix_de_vente_nation)) * 100
taux_de_marge = Round(taux_de_marge, 2)

marge_en_euro = ((prix_de_vente_nation / tva) * (1 - ((dpa * tva) / prix_de_vente_nation)))
marge_en_euro = Round(marge_en_euro, 2)

MsgBox "Le Taux de Marge de votre produit est de " & taux_de_marge & "% et la Marge en Euro est de " & marge_en_euro & "€"

End Sub

J'aimerais pouvoir inscrire des nombres décimaux dans mes InputBox.
Pouvez-vous me dire où se situe le problème? Pouvez-vous m'aider à ajouter des Types à mes variables?
Merci

A voir également:

1 réponse

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

une inputbox aura toujours une chaine, à toi de la convertir en numérique lors de l'affectation à une variable (avec cdbl() par exemple).

Si tu utilises l'inputbox d'une feuille, avec :
prix_de_vente_nation = Application.InputBox("Entrez le prix de vente nation de l'article", type:=1) tu peux t'assurer que la saisie correspond à un nombre convertible.

Par ailleurs je te conseille de typer tes variables, par exemple :
Dim dpa as long, tva as double, etc

eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0
Al'x
 
Merci beaucoup!!
ça marche à merveille!! :)
0