Déclarer une fonction dans vba (NormSDist)... [Résolu]

youme225 2 Messages postés samedi 10 mars 2012Date d'inscription 10 mars 2012 Dernière intervention - 10 mars 2012 à 12:05 - Dernière réponse : youme225 2 Messages postés samedi 10 mars 2012Date d'inscription 10 mars 2012 Dernière intervention
- 10 mars 2012 à 17:21
Bonjour,

je suis un débutant total en ce qui concerne le VBA. J'essaye de faire la fonction de Black and Scholes (pour les options) mais j'ai qq problèmes.

j'ai ça comme code:

Sub options()

Dim d1 As Single
Dim d2 As Single
Dim r As Single
Dim vol As Single
Dim t As Integer
Dim C As Single
Dim X As Single
Dim S As Single
Dim Ln As Single
Dim NormSDist As Single


S = InputBox("Entrez le prix du sous-jacent")
X = InputBox("Quel est le prix d'exercice?")
vol = InputBox("Quelle est la volatilité?")
r = InputBox("Le taux sans risque")
t = InputBox("le temps jusqu'à l'échéance")
d1 = (1 / (vol * t ^ 0.5)) * Log(S / X) + (r + 0.5 * vol ^ 2) * t
d2 = d1 - vol * t ^ 0.5
C = S * NormSDist(d1) - X * NormSDist(d2) * Exp(-r * t)
MsgBox ("le Prix de l'option est de" & C & "euros")


End Sub


Mais apparemment VBA ne reconnait pas la fonction NormSDist. Quoi faire ?

Une autre question, est-ce possible de faire un userform qui regroupe les inputbox?


Merci !
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 10 mars 2012 à 14:43
3
Merci
Bonjour,
Et également : fais attention au choix de la section ! VBA n'est pas VB.Net (la présente section) !

Maintenant :
- NormDist n'est en effet pas une fonction VBA, mais une fonction Excel
- la plupart (et c'est le cas ici) des fonctions Excel sont utilisables sous VBA ===>> ouvre donc ton aide VBA sur le mot WorkSheetFunction et lis


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient

Merci ucfoutu 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de ucfoutu
NHenry 14262 Messages postés vendredi 14 mars 2003Date d'inscription 22 septembre 2018 Dernière intervention - 10 mars 2012 à 13:32
0
Merci
Bonjour,

Quand tu postes un code, lis le point 2 de ma signature.

Regardes plutôt :
WorksheetFunction.NormSDist

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Commenter la réponse de NHenry
youme225 2 Messages postés samedi 10 mars 2012Date d'inscription 10 mars 2012 Dernière intervention - 10 mars 2012 à 17:21
0
Merci
toutes mes excuses pour avoir nier les règles.

Et merci pour vos réponses, ça marche !!
Commenter la réponse de youme225

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.