Solveur, Condition "Entier"

Bonsoir,

J'ai un petit soucis avec le solveur qui ne souhaite pas me prendre en compte la condition "Entier" sur une cellule ou un plage de cellules... J'ai peut être fait une erreur de syntaxe pourtant j'ai repris ce que me donnait l'enregistreur de macros.

Bref je m'en remets une nouvelle fois à vos services en espérant ne pas trop abuser de votre temps.

PS: Ci-joint un exemple simplifié.

Cdlt,

Darzou

12testsolveur.xlsm (15.62 Ko)

Bonjour,

Quand tu dis Entier c'est pour des nombre "entier" ?

Si oui, essaye avec Integer ou Int avec ou sans guillemet.

Tu dis.

A+

Merci pour votre réponse.

"Entier" est bien utilisé pour nombre entiers.

J'ai déjà essayé vos propositions, mais sans succès...

En revanche il semblerait que j'ai trouvé une solution (que je ne m'explique pas pour autant...)

En bref, ça ne fonctionnait pas avec ce code ...

Sub Test()
Application.ScreenUpdating = False
    SolverReset
    SolverAdd CellRef:="$F$7", Relation:=1, FormulaText:="200"
    SolverAdd CellRef:="$D$4", Relation:=4, FormulaText:="entier"
    SolverOk SetCell:="$F$7", MaxMinVal:=1, ByChange:="$D$4", Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve True
End Sub

... mais celui-ci fonctionne:

Sub Test()
Application.ScreenUpdating = False
    SolverReset
    SolverOk SetCell:="$F$7", MaxMinVal:=1, ByChange:="$D$4", Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverAdd CellRef:="$F$7", Relation:=1, FormulaText:="200"
    SolverAdd CellRef:="$D$4", Relation:=4, FormulaText:="entier"
    SolverOk SetCell:="$F$7", MaxMinVal:=1, ByChange:="$D$4", Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve True
End Sub

Maintenant pourquoi le fait de rajouter cette même ligne au début corrige le problème, ça, je ne sais pas...

D'ailleurs si quelqu'un a une explication, je suis preneur.

Cdlt,

Darzou

Edit: Mouais en fait c'est même la dernière ligne qui ne sert à rien, bref comme ci dessous c'est tout aussi bon...

Sub Test()
Application.ScreenUpdating = False
    SolverReset
    SolverOk SetCell:="$F$7", MaxMinVal:=1, ByChange:="$D$4", Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverAdd CellRef:="$F$7", Relation:=1, FormulaText:="200"
    SolverAdd CellRef:="$D$4", Relation:=4, FormulaText:="entier"
   ' SolverOk SetCell:="$F$7", MaxMinVal:=1, ByChange:="$D$4", Engine:=1, EngineDesc:="GRG Nonlinear"
    SolverSolve True
End Sub
Rechercher des sujets similaires à "solveur condition entier"