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

Signaler
Messages postés
2
Date d'inscription
samedi 10 mars 2012
Statut
Membre
Dernière intervention
10 mars 2012
-
Messages postés
2
Date d'inscription
samedi 10 mars 2012
Statut
Membre
Dernière intervention
10 mars 2012
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
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
Messages postés
14800
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 juin 2021
156
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
---
Messages postés
2
Date d'inscription
samedi 10 mars 2012
Statut
Membre
Dernière intervention
10 mars 2012

toutes mes excuses pour avoir nier les règles.

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