Automatiser le solveur en VBA

Bonjour,

Je débute en code VBA et j'ai une question dans l'utilisation du solveur.

J'ai une somme de carré à minimiser : la somme dépend de deux paramètres (\alpha, \beta). Et bien sûr je dois le faire sur 10 000 sommes.

Le solveur me produit une solution approchée convenable du couple quand je l'utilise manuellement sur un ou deux cas.

Mes sommes sont en colonnes 67 (BO), mes variables en colonnes 37 et 38 (AK, AL). Et voici le code que j'ai tenté de mettre en place et dont le message d'erreur se situe au niveau du solveur, puisqu'il me dit que les contraintes ou les conditions ne sont pas valides :

Sub Macro3()

Dim CellulesVariables As Range

Dim i As Integer

For i = 20 To 23

SolverReset

With Feuil1

Set CellulesVariables = Union(Range("AK" & i), Range("AL" & i))

End With

Cells(i, 67).Select

SolverOk SetCell:=ActiveCell, MaxMinVal:=3, ValueOf:="0", ByChange:="Union(Range("AK" & i), Range("AL" & i))" _

, Engine:=1, EngineDesc:="GRG Nonlinear"

SolverSolve

Next i

End Sub

Voilà, en espérant que vous puissiez m'aider, je pense que le problème se situe au niveau de la définition du "ByChange", mais je n'arrive pas à le modifier.

Bonne journée,

Jonny

Bonjour,

Essaie :

Set CellulesVariables = Range("AK:AL" & i)
SolverOk SetCell:=ActiveCell, MaxMinVal:=3, ValueOf:=0, ByChange:=CellulesVariables

* "GRG Nonlinear" étant la valeur par défaut du solver

Sans grande conviction

Cdlt.

Merci,

J'ai réussi à trouver une solution juste avant et mes simulations tournent mais je testerai ta solution demain

Je ne maîtrise pas encore l'objet, d'où mon problème assez simple.

bonne journée

Rechercher des sujets similaires à "automatiser solveur vba"