Dans cet article, je ne vais pas vous apprendre à utiliser le solveur. Je suppose donc que vous savez déjà à quoi il sert et comment le paramétrer. L’idée ici est de pouvoir l’utiliser dans une macro de façon à réitérer le lancement du solveur. En effet, certains points sont indispensable à connaître.
Voici les 4 à savoir pour bien utiliser le Solveur sous VBA.
Etape 1: Activer le solveur
RUBAN: Développeur > Compléments > Compléments
Puis cochez « Solver Add-in »:
Etape 2: Enregistrer la macro
Le but ici est d’enregistrer la macro afin de récupérer les données du solveur.
Nommez la macro pour la ré-utiliser:
Lancer le solveur
RUBAN: Données > Analysis > Solver
Arrêtez ensuite la macro (en cliquant sur le petit carré bleu en bas à gauche).
ALT + F11 pour le résultat
Pour vérifier l’enregistrement, ouvrez l’éditeur de Macro avec ALT+F11.
Etape 3: La référence
Il s’agit d’un point très important pour éviter ce genre d’erreur:
Allez dans Outils > Références et ajoutez le solver comme ci-dessous:
Vous constaterez alors que la partie Références a été ajoutée dans la fenêtre du projet:
Etape 4: modifier la macro
Si vous avez besoin de modifier le solveur, modifier la ligne suivante en fonction de vos besoins:
SolverOk SetCell:= »$H$8″, MaxMinVal:=1, ValueOf:=0, ByChange:= »$B$14:$G$14,$B$15,$E$15,$B$16″, Engine:=1, EngineDesc:= »GRG Nonlinear »
Sinon, il faut la structure suivante:
Bien penser à:
- Effacer certaines plages avec ClearContents
- Ajouter Userfinish:=True lors du lancement du solveur pour éviter de faire OK à la fin
Conclusion
Vous avez à présent toutes les clés pour utiliser le Solveur dans une macro VBA.