Bonjour, je suis nouveau sur le site et j'ai un petit problème concernant un calcul (dans le cadre de mon travail de diplôme). Je dois effectuer un code pour la duration (formule dans fichier word) qui correspond à la mesure de la durée de vie d'un actif à revenu fixe.
Voici le code que j'ai fait:
mais il ne me donne pas la bonne solution (je suis que débutant en VBA...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 'Définition des variables Dim Coupon As Currency Dim Nominal As Currency Dim Taux As Currency Dim NbAnnées As Integer Dim ValeurActualisée() As Currency Dim R As Currency Dim Rt As Currency Dim i As Integer 'Initialisation des variables Nominal = InputBox("Montant du nominal") Taux = InputBox("Taux de l'obligation (en % ... Taper 5 pour 5%)") / 100 NbAnnées = InputBox("Durée de l'obligation en années") Coupon = Taux * Nominal R = InputBox("taux de rendement actuariel") ReDim ValeurActualisée(NbAnnées, 1) 'Alimentation du tableau et calcul des Valeurs actualisées au fur et à mesure de la boucle For i = 1 To NbAnnées Rt = (((Coupon * i) / (1 + R) ^ i)) / (100 / ((1 + R) ^ i)) Next i 'Calcul de la duration MsgBox "La duration est égale à : " & Rt + ((Nominal * i / ((1 + Vm) ^ i)) / (Nominal / ((1 + Vm) ^ i)))
Donc si quelqu'un verrait une meilleure façon de faire et pourrait m'aider, je l'en remercie d'avance.
Partager