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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 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
Bonne journée,
Jonny
Partager