Fonction SolverAdd

Ajoute une contrainte au problème actuel. Équivaut à cliquer sur Solver dans le groupeAnalysedes données | , puis sur Ajouter 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.

SolverAdd( 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, 5 ou 6, CellRef doit faire référence à des cellules de variable de décision, 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

Une fois les contraintes ajoutées, vous pouvez les manipuler avec les fonctions SolverChange et SolverDelete .

Exemple

Cet exemple utilise les fonctions du solveur pour optimiser la marge brute dans le cadre d’un problème commercial. La fonction SolverAdd est utilisée pour ajouter trois contraintes au problème actuel.

Worksheets("Sheet1").Activate 
SolverReset 
SolverOptions precision:=0.001 
SolverOK setCell:=Range("TotalProfit"), _ 
 maxMinVal:=1, _ 
 byChange:=Range("C4:E6") 
SolverAdd cellRef:=Range("F4:F6"), _ 
 relation:=1, _ 
 formulaText:=100 
SolverAdd cellRef:=Range("C4:E6"), _ 
 relation:=3, _ 
 formulaText:=0 
SolverAdd cellRef:=Range("C4:E6"), _ 
 relation:=4 
SolverSolve userFinish:=False 
SolverSave saveArea:=Range("A33")

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.