Déclarer une fonction dans vba (NormSDist)...

Résolu
youme225 Messages postés 2 Date d'inscription samedi 10 mars 2012 Statut Membre Dernière intervention 10 mars 2012 - 10 mars 2012 à 12:05
youme225 Messages postés 2 Date d'inscription samedi 10 mars 2012 Statut Membre Dernière intervention 10 mars 2012 - 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 !

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 237
10 mars 2012 à 14:43
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
3
NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
10 mars 2012 à 13:32
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
---
0
youme225 Messages postés 2 Date d'inscription samedi 10 mars 2012 Statut Membre Dernière intervention 10 mars 2012
10 mars 2012 à 17:21
toutes mes excuses pour avoir nier les règles.

Et merci pour vos réponses, ça marche !!
0