Macro et Solveur

  • Initiateur de la discussion BV08
  • Date de début
B

BV08

Guest
Bonjour,

Je m'adresse à vous pour un petit problème sous excel :whistle:

J'ai monté un petit classeur qui me permet de trouver un modèle mathématique à partir de valeurs sous forme de tableaux B)

Pour faire ceci j'utilise le solveur en lui même ça va! Le problème arrive par la suite :angry:

Je suis completement nul en VB (mais alors nul n'est même pas un euphémisme, je suis même modeste là! ;) ) et j'aimerai lié mon solveur à un bouton directement sur ma feuille.

En fait j'ai déjà mis des 'boutons d'options' et des 'cases à cocher' qui me définissent au final ma cellule à définir et mes cellules variables pour le traitement du solveur. Tout ceci marche bien par contre on doit lancer le solveur via le menu 'outil' 'solveur' etc.. puis valider qu'on veut bien conserver les valeurs calculées.

Mon envie serait de créer un bouton sur la page qui lancerait tout ça :) Mais à partir d'une macro générée automatiquement 'en cliquant' ben ça marche pas :S

Grosso modo ça bloque sur ceci:
Sub saulvauto()
Range('P9:p17').Select
Selection.Copy
Range('O9').Select
ActiveSheet.Paste
Range('O21').Select
SolverOk SetCell:='$L$14', MaxMinVal:=2, ValueOf:='0', ByChange:='$P$9:$P$17'
SolverSolve
End Sub

Avec pour message:
Erreur de compilation
Sub ou Fonction non définie

Si quelqu'un connait un peu et peut m'aider je lui en serai reconnaissant car alors là c'est bien au dessus de mon niveau! :eek:

Merci d'avance et bonne journée les gens :p
 
B

BV08

Guest
Je rajouterai que le message d'erreur apparait en surlignant 'SolverOK'

Je remets le code sans smiley (désolé pour le quote précédent :p )

Code:
Sub saulvauto()
    Range('P9:P17').Select
    Selection.Copy
    Range('O9').Select
    ActiveSheet.Paste
    Range('O21').Select
    SolverOk SetCell:='$L$14', MaxMinVal:=2, ValueOf:='0', ByChange:='$P$9:$P$17'
    SolverSolve
End Sub

Re merci! :eek:
 

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir BV, bonsoir à toutes et à tous :)

Ça ne m'étonnerait pas trop que la référence ne soit pas activée. Tu vas dans l'éditeur VBA, et dans le menu Outils/Références, tu cherches Solver.xls et tu le coches.

Normalement, cela devrait suffire. Tu peux aussi indiquer :

SolverSolve True

si tu souhaites ne pas afficher la boîte de dialogue du solveur.

Voili voilà, en espérant que ça réponde à ta demande.

A+ ;)
 

Discussions similaires