Appel du solveur Excel depuis une macro personnelle
maeckma
Messages postés3Date d'inscriptionmercredi 28 janvier 2009StatutMembreDernière intervention29 janvier 2009
-
28 janv. 2009 à 10:03
maeckma
Messages postés3Date d'inscriptionmercredi 28 janvier 2009StatutMembreDernière intervention29 janvier 2009
-
29 janv. 2009 à 09:24
Bonjour,
Est-il possible de faire appel au solveur Excel depuis une macro personnelle ?
Lorsque j'enregistre cette opération il vient:
Sub Macro1()
SolverOk SetCell:="$I$8", MaxMinVal:=2, ValueOf:="0", ByChange:="$I$4:$I$6"
SolverSolve
End Sub
Les paramètres sont corrects mais l'exécution s'arrête sur SolverOk avec le message d'erreur:
Erreur de compilation
Sub ou Function non définie.
Merci de bien vouloir consacrer un peu de temps à ma demande.
Maurice Maeck
cs_fondue
Messages postés3Date d'inscriptionvendredi 9 janvier 2009StatutMembreDernière intervention28 janvier 2009 28 janv. 2009 à 14:13
Bonjour Maurice,
La fonction solveur n'est sans doute pas activée dans microsoft visual basic.
Dans le menu Outils/Références vérifie que solver.xls est bien coché.
Cela devrait résoudre le problème.
maeckma
Messages postés3Date d'inscriptionmercredi 28 janvier 2009StatutMembreDernière intervention29 janvier 2009 28 janv. 2009 à 14:43
Effectivement Marc,
J'ignorais qu'il fallait activer cette sorte de lien.
La macro s'exécute bien ... mais s'arrête après chaque appel du solveur en me demandant si je garde la solution ou si je restaure les paramètres d'origine et je dois appuyer sur ENTER pour continuer. Comme la solution sera bonne à chaque coup (car l'initialisation est excellente) et que je souhaite exécuter une longue boucle (peut-être i=1 à i=10000), cette interruption de la macro est désagréable (surtout pour la touche de clavier concernée !).
Existe-t-il une manière d'inhiber cet arrêt de la macro ? Je n'ai rien trouvé dans les options du solveur.
cs_fondue
Messages postés3Date d'inscriptionvendredi 9 janvier 2009StatutMembreDernière intervention28 janvier 2009 28 janv. 2009 à 17:44
En rajoutant True après SolverSolve, cette dernière fenêtre n'apparaît pas. Ton clavier et ton index t'en seront sûrement dix mille fois reconnaissant...
Sub Macro1()
SolverOk SetCell:="$I$8", MaxMinVal:=2, ValueOf:="0", ByChange:="$I$4:$I$6"
SolverSolve True End Sub