Salut,

je fais face à un problème en essayant d'utiliser le solveur Excel sur des cellules dont la valeur change par appel de macro.

Aujourd'hui, ma feuille excel était uniquement utilisée sous la forme :
- je change des valeurs inputs x
- j'appelle ma macro
- je lis les valeurs outputs y

Mais maintenant, on veut que le solveur change automatiquement les valeurs inputs et optimise les valeurs output, en appelant au milieu la macro.

Ma première approche : faire une fonction qui appelle ma macro et utiliser le solveur sur cette fonction --> impossible : une macro appelée par une fonction ne peut pas changer la feuille.

Ma deuxième approche : faire une macro qui est appelée sur l'event Worksheet_Change. Ainsi, à chaque modification à la main de mes valeurs input x, la macro est automatiquement lancée et le résultat s'écrit dans la cellule y. --> en essayant de lancer le solveur sur ces cellules sources et cibles, un message d'erreur apparaît comme quoi la cellule cible doit contenir une formule.

Du coup je n'ai plus trop d'idées.

Edit : en rédigeant le message j'ai réussi à trouver la solution. Le problème semblant gênant sur le net, je poste la solution. Du coup, c'est un topic pour rien, mais comme je suis content de l'astuce, je partage.

Solution : créer dans une autre cellule une simple égalité avec la cellule modifiée par la macro. Cela devient une formule, le solveur peut travailler avec et me donne une solution correcte.