Macro pour calcul duration

maxwellou

XLDnaute Occasionnel
Bonjour,

Voilà je ne suis pas un expert en VBA, mais il me semble que le problème que je vais vous exposer peut être résolu par macro, et j'aurais réellement besoin d'une aide pour réaliser cette macro.

Je vous joins un fichier qui reprends deux onglets : "détail" et "duration"

L'onglet détail est composé des éléments permettant le calcul d'une pseudo duration (ok, la formule de la duration c'est pas exactement ça, mais cette formule est idéal pour finaliser mon outil)

L'onglet duration est l'endroit où doit se faire le calcul de la duration pour chaque ligne de l'onglet "détail".

Mon problème est que je souhaiterais afficher le calcul de la duration (onglet detail - colonne L) sachant que la formule a utilisé est en fonction de l'actualisation du taux (cf. onglet duration).

Est-il possible qu'une macro puisse :

* onglet Detail:
- selectionner sur la ligne 3 le nombre d'année (colonne J) et le taux client (colonne C)

* onglet Duration:
- coller ces selections en B2 et B3 sur l'onglet duration
- créer autant de ligne que la variable indiquée en B2
- recopier les formules de la 1ere ligne (A6) sur chaque ligne créée
- faire la somme de la colonne D et colonne E
- Diviser colonne E/colonne D
- L'élement calculé (F26 dans l'exemple) represente la duration qu'il faudra reporter sur la bonne ligne de l'onglet detail (L3 dans l'exemple)
- Et recommencer pour chaque ligne présent dans l'onglet detail.


Pourriez-vous m'aider svp ?

Merci
Bien à vous
 

Pièces jointes

  • macro duration.xlsx
    131.4 KB · Affichages: 73

maxwellou

XLDnaute Occasionnel
Re : Macro pour calcul duration

Merci beaucoup Gigi...

Ca fonctionne super bien !

J'ai parcontre une erreur sur la ligne ci-dessous :

nombre_annee = Round(nombre_jour / 360)

L'erreur provient du fait que lorsque le résultat de la division donne une valeur > 1; alors la macro affiche :

erreur d'execution '6': dépassement de capacité

J'ai tenté de changer Round par "variant" mais bien évidement ça ne marche pas. Je ne comprends pas exactement comment fonction "round" mais il semble qu'il refuse les donnée > à 1.

Pourriez vous m'aider à nouveau svp ?

Merci !
bien à vous
 

Discussions similaires

Réponses
12
Affichages
284
Réponses
9
Affichages
458

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz