XL 2019 erreur sur Macro VBA utilisant Goal Seek

Wotan75012

XLDnaute Nouveau
Supporter XLD
Bonjour à tous,

Je tente actuellement de définir une macro permettant de calculer un taux cible d'un instrument financier, sans utiliser la fonction YIELD.
Mais lorsque j'utilise le formule de Valeur Cible "Goal Seek", j'ai un problème d'erreur 1004 "Référence non valide".
Je ne comprends pas pourquoi ?

Quelqu'un a-t'il une idée pour debugger cette macro SVP ?

En pièce jointe, le fichier macro

Je vous remercie par avances de vos idées et je vous souhaite une bonne journée

Wotan 75012
 

Pièces jointes

  • Macro GoalSeek.xlsx
    9.4 KB · Affichages: 8
  • Message erreur Macro Goal Seek.PNG
    Message erreur Macro Goal Seek.PNG
    20.7 KB · Affichages: 16

Wotan75012

XLDnaute Nouveau
Supporter XLD
Rebonjour à tous,

désolé, je commence mal sur le Forum.
Merci à Sylvanu de m'avoir fait remarqué que mon fichier précédent était la version sans macro. ! :eek:
Voici la version correcte du fichier avec le Code VBA

Je tente actuellement de définir une macro permettant de calculer un taux cible d'un instrument financier, sans utiliser la fonction YIELD.
Mais lorsque j'utilise le formule de Valeur Cible "Goal Seek", j'ai un problème d'erreur 1004 "Référence non valide".
Je ne comprends pas pourquoi ?

Quelqu'un a-t'il une idée pour debugger cette macro SVP ?

En pièce jointe, le fichier avec macro

Je vous remercie par avances de vos idées et je vous souhaite une bonne journée

Wotan 75012
 

Pièces jointes

  • Macro GoalSeek avec CodeVBA.xlsm
    16.9 KB · Affichages: 4
  • Message erreur Macro Goal Seek.PNG
    Message erreur Macro Goal Seek.PNG
    20.7 KB · Affichages: 10

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Wotan,
En faisant un test d'enregistrement macro sur le solver, on s'aperçoit que votre syntaxe de ByChange n'est pas bonne, et il manque un "=" pour SetCell :
VB:
SolverOk SetCell: Range ("D" & (X + i - 1)), MaxMinVal:=3, ValueOf:=0, ByChange:=Range("$B$6")
ainsi la formule ne donne pas d'erreur :
Code:
SolverOk SetCell:=Range("D" & (X + i - 1)), MaxMinVal:=3, ValueOf:=0, ByChange:="$B$6"
Ce qui ne garantit pas que le résultat est correct, je n'ai rien compris à la finalité. 😅😂🤣
 

Pièces jointes

  • Macro GoalSeek avec CodeVBA (1).xlsm
    18 KB · Affichages: 1

Wotan75012

XLDnaute Nouveau
Supporter XLD
Bonjour Sylvanu,

La macro est débuggée grâce à ton aide sur la Syntaxe.
Surtout maintenant que j'ai activé Solveur dans le bon module Compléments de VBA !

En ce qui concerne la finalité: je crée ce sous-module "Solver" pour la coupler avec une autre macro, calculant les dates de flux d'un instrument financier de taux.

Encore merci de ton aide.👍

Bonne Soirée.
 

Discussions similaires

Statistiques des forums

Discussions
312 092
Messages
2 085 222
Membres
102 826
dernier inscrit
ag amestan