Bonjour à tous,

Je me demandais s'il était possible de créer une procédure utilisant le solver mais sans utiliser les cellules. D'ordinaire on voit bien que le solver utilise les cellules "cible, contrainte etc...", est-il possible de ne pas les utiliser ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
SolverOk SetCell:="target", MaxMinVal:=3, ValueOf:="0", ByChange:=Range("B3:C3")
    SolverAdd CellRef:="target", Relation:=2, FormulaText:=volat3
    SolverOk SetCell:="target", MaxMinVal:=3, ValueOf:="0", ByChange:=Range("B3:C3")
    SolverAdd CellRef:="sum", Relation:=2, FormulaText:="1"
    SolverOk SetCell:="target", MaxMinVal:=3, ValueOf:="0", ByChange:=Range("B3:C3")
    SolverSolve
Voici le solver que j'aimerais faire tourner

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
target = ((Worksheets("test").Cells(i, 2).Value) ^ 2 * volat2 + (Worksheets("test").Cells(i, 3) ^ 2) * volat1)
 
 
 
volat1 = Worksheets("volat").Cells(2, i).Resize(observ + 1, 1)
volat1 = WorksheetFunction.Average(volat1)
volat1 = volat1 ^ 2
Avec les valeurs que j'aimerais utiliser ( à titre d'exemple ). Néanmoins lorsque je lance la procédure le solver n'a pas fonctionné, et je ne vois pas pourquoi hormis le problème de cellules.

Avez vous des pistes ?


Merci d'avance