Bonjour à toutes et tous,
voilà je viens vers vous avec mon petit problème de programme vba qui consiste à faire des itérations avec le solveur excel.
j'ai en effet plusieurs lignes à calculer via le solveur (équation non linéaire) et je souhaite ne pas me les farcire les unes après les autres.
j'ai donc écrit un code qui devrait marcher en théorie, mais qui en pratique ne marche pas :
SolverReset
For rwIndex = 0 To 170
SolverOk SetCell:=Cells(rwIndex, 10), MaxMinVal:=2, ValueOf:=0, ByChange:=Cells(rwIndex, 5)
SolverAdd CellRef:=Cells(rwIndex, 11), Relation:=2, FormulaText:=1
SolverSolve UserFinish:=True
Next rwIndex
en gros je mets pour chaque ligne une condition sur le résultat, notamment que la valeur d'une des cellules (un calcul de ratio entre deux valeurs devant être identiques) est égale à 1.
Lorsque j'utilise le solver manuel habituel, ça marche, il me met bien la valeur de cette cellule égale à 1 et ma cellule variable a une valeur cohérente. Par contre en passant par vba, tout part en live et ça diverge dans tous les sens.
Est ce que quelqu'un pourrait me dire ce qui peut clocher ? j'ai parcouru plusieurs forums et le code a l'air bon...
question subsidiaire : à quoi sert MaxMinVal et ValueOf ?
Merci
-----