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

Messages postés
2
Date d'inscription
samedi 10 mars 2012
Dernière intervention
10 mars 2012
- 10 mars 2012 à 12:05 - Dernière réponse :
Messages postés
2
Date d'inscription
samedi 10 mars 2012
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 !
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
- 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é 87 internautes ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
14299
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
16 novembre 2018
- 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
Messages postés
2
Date d'inscription
samedi 10 mars 2012
Dernière intervention
10 mars 2012
- 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.