Partager via


SolverChange, fonction

Modifie une contrainte existante. Équivaut à cliquer sur Solveur dans le groupeAnalysedes données | , puis sur Modifier dans la boîte de dialogue Paramètres du solveur.

Note Le complément Solveur n’est pas activé par défaut. Pour pouvoir utiliser cette fonction, le complément Solveur doit être activé et installé. Pour plus d’informations sur la procédure à suivre, voir Utilisation des fonctions VBA du solveur. Une fois le complément solveur installé, vous devez établir une référence à celui-ci. Dans Visual Basic Editor, avec un module actif, cliquez sur Références dans le menu Outils, puis sélectionnez Solveur sous Références disponibles. Si Solveur n’apparaît pas sous Références disponibles, cliquez sur Parcourir, puis ouvrez Solver.xlam dans le sous-dossier \Program Files\Microsoft Office\Office14\Library\SOLVER.

SolverChange( CellRef, Relation, FormulaText)

CellRef Required Variant. Référence à une cellule ou une plage de cellules qui forme le côté gauche d'une contrainte. Relation Required Integer. Relation arithmétique entre les côtés gauche et droit de la contrainte. Si vous choisissez 4 ou 5, CellRef doit faire référence à des cellules réglables (variables), et FormulaText ne doit pas être spécifié.

Relation Relation arithmétique
1 <=
2 =
3 >=
4 Les cellules référencées par CellRef doivent avoir des valeurs finales qui sont des entiers.
5 Les cellules référencées par CellRef doivent avoir des valeurs finales de 0 (zéro) ou 1.
6 Les cellules référencées par CellRef doivent avoir des valeurs finales qui sont toutes différentes et des entiers.

FormulaText Optional Variant. Côté droit de la contrainte.

Remarques

Si CellRef et Relation ne correspondent pas à une contrainte existante, vous devez utiliser les fonctions SolverDelete et SolverAdd pour modifier la contrainte.

Exemple

Cet exemple montre comment charger le modèle du Solveur stocké dans la feuille Sheet1 qui a été calculé précédemment, changer l'une des contraintes, puis résoudre à nouveau le modèle.

Worksheets("Sheet1").Activate 
SolverLoad loadArea:=Range("A33:A38") 
SolverChange cellRef:=Range("F4:F6"), _ 
 relation:=1, _ 
 formulaText:=200 
SolverSolve userFinish:=False

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.