Dépassement de capacité

  • Initiateur de la discussion Initiateur de la discussion Mazne
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Mazne

XLDnaute Nouveau
Bonjour à tous.

Je dois faire un programme de pricing pour les cours. J'ai le programme de base, mais quand je cherche à l’exécuter, j'ai un dépassement de capacité.
Si quelqu'un à une idée sur le problème peut me donner un petit coup de main, ce serait cool.

Merci d'avance.

Option Explicit



Code:
' calcul de B&S
' S = cours du sous jacent; K = prix d'exercice (strike); r = taux d'intérêts annuel sans risque (cst)
' T distance à l'échance (en années); sigma = volatilité du sous jacent; Nd = loi normale centrée réduite

Function BS(TypeOption, S, K, r, sigma, T)


Dim d1, d2 As Double
Dim Z As Integer


d1 = (Log(S / K) + (r + 0.5 * sigma ^ 2) * T) / (sigma * Sqr(T))
d2 = d1 - sigma * Sqr(T)
Z = Switch(TypeOption)
BS = Z * (S * Nd(Z * d1) - K * Exp(-r * T) * Nd(Z * d2))

End Function

' fonction de la loi normale
Function Nd(d)

Dim d As Double

Nd = WorksheetFunction.Norm_S_Dist(d)
End Function

' fonction de determination Put ou Call
Function Switch(TypeOption)

Dim TypeOption As Integer


TypeOption = UCase(TypeOption)

If TypeOption = "C" Or TypeOption = "CALL" Then
Switch = 1
ElseIf TypeOption = "P" Or TypeOption = "PUT" Then
Switch = -1
End If

End Function

Sub test()
Dim S, K, r, T, sigma As Double
Dim TypeOption As Integer


S = Cells(4, 2)
K = Cells(5, 2)
r = Cells(6, 2)
T = Cells(7, 2)
sigma = Cells(8, 2)
TypeOption = Cells(9, 2)


 Cells(3, 5) = BS(TypeOption, S, K, r, sigma, T)
End Sub
 
Dernière édition:
Re : Dépassement de capacité

Salut,soit un probleme de type de variable ou plus plausible une division par 0
tu dois également avoir qqs autres erreurs de compilation avant d'avoir cette erreur ?

PS: Balise ton Code STP
 
Re : Dépassement de capacité

Salut Mazne et le forum
Bonne manière de noyer le poisson : une fonction qui appelle une fonction qui appelle une foncrion.
À quel niveau tu as le dépassement de capacité ?
Comme tu déclares presque tout en Variant ou en double, il y a peu de risque. La seule qui me semble vraisemblable, c'est "TypeOption As Integer" => regarde la valeur de B9 qui doit être comprise dans les limites d'un Entier.
A+
 
Re : Dépassement de capacité

Après quelques rapides modifications, les erreurs de compilation ont changées. J'avoue que je n'y vois cependant pas plus clair.
Voilà mon fichier. Si quelqu'un a une idée, je l'en remercie d'avance 😉
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
797
Réponses
5
Affichages
562
Réponses
2
Affichages
770
Retour