Utiliser le solveur en boucle sur des plages différentes

Bonjour,

Je cherche à faire fonctionner le solveur le manière successive mais pour le moment je n'arrive pas à faire la première itération. L'idée c'est que le solveur trouve la solution pour chaque plage correspondant à un code. Cette plage débute à ma ligne référence et termine à la valeur ligne.

Dans ma cellule Y2 qui est la cellule que je cherche à optimiser j'ai réussi à y mettre le calcul de la fonction en lien avec ma plage variable (pour l'itération). Mon problème est d'arriver à dire au solveur que c'est cette fonction que je veux qu'il optimise et non pas la valeur du calcul dans la cellule. (Pour le moment quand je lance la macro il ne reconnait même pas la fonction solverOk qui provient pourtant d'une macro enregistrée)

Voici le code que j'ai réussi à trouver pour le moment

Sub Solveurboucle()

    Dim p As Range

    Set Trav = Sheets("Trav macro")
    Ligne = 2
    ligneref = 2
    While Trav.Cells(Ligne, 4).Text = Trav.Cells(ligneref, 4).Text
        Ligne = Ligne + 1
    Wend

    Set p = Range(Trav.Cells(ligneref, 17), Trav.Cells(Ligne, 17))
    Range("Y2").FormulaR1C1 = WorksheetFunction.Percentile(p, 0.9)
    Range("Y2").Select
    SolverReset
    SolverOk SetCell:="$Y$2", MaxMinVal:=2, ValueOf:=0, ByChange:="$T$2", Engine:=1 _
        , EngineDesc:="GRG Nonlinear"

    SolverSolve

End Sub

Merci d'avance pour votre aide, j'espère que mes explications sont claires vu le peu d'expérience que j'ai de VBA.

Bonjour,

Vous devez activer les références du Solveur pour VBA. Pour ce qui est de la fonction, le Solveur ne fonctionne qu'avec des fonctions Excel valides. Il faudrait donc remplacer (non testé) :

Range("Y2").FormulaR1C1 = WorksheetFunction.Percentile(p, 0.9)
'Par :
Range("Y2").Formula = "=PERCENTILE(" & p.Address & ",0.9)"

Super merci beaucoup ça fonctionne !

Il y a vraiment des fois ou je me dis que je suis vraiment nulle ça parait si simple comme ça

Faut pas ! C'est pas non plus inné, ni toujours très instinctif !

Rechercher des sujets similaires à "utiliser solveur boucle plages differentes"