Solver fait 'sauter' l'écran...

SHA

XLDnaute Nouveau
Bonjour le forum,

Une macro appelle le solveur :

Application.ScreenUpdating = False ' Fige l'affichage

' Chargement d'un scénario de contraintes
SolverLoad LoadArea:=Range("SimulationAvecContraintesMAMOMAT")

SolverOk SetCell:="$D$68", MaxMinVal:=3, ValueOf:=Str(Range("SimulationValeurCible")), _
ByChange:="SimulationValeurCibleP1,SimulationValeurCibleP2"
SolverSolve UserFinish:=True

Application.ScreenUpdating = True ' Rétablit l'affichage

Malgré le ScreenUpdating False l'écran saute 2 ou 3 fois dès le SolverLoad; en mode débogage il apparait la fenêtre 'pas à pas' du Solveur... qui n'apparait pas en exécution normale.

J'aimerais un écran bien stable, bien rassurant !

Quelqu'un a-t-il croisé ce problème ? ... ou sa solution (?-)

Amitié,

Jean-Jacques
 

albert

XLDnaute Occasionnel
Re : Solver fait 'sauter' l'écran...

bonjour Jean-Jacques

Je suppose que SolverLoad sert à charger le solver et dans ce cas il apparaît à l'écran (je ne suis pas sécialiste du solver)
J’ai un code qui fonctionne sans utiliser SolverLoad et lorsque j’exécute la macro, le solver n’apparaît pas => il n'est pas nécessaire d'utiliser Application.ScreenUpdating. Par contre dans outils/références de vba, SOLVER.xls est coché

voici le code que j'utilise:

i = 1
j = 6
Do While (Not (IsEmpty(Cells(i, j))))
Cells(5, 2).Value = Cells(i, j)
SolverSolve Userfinish:=True
Cells(i, j + 1).Value = Cells(6, 1)
i = i + 1
Loop

peut-être cela t'aidera-t-il ?

albert
 

SHA

XLDnaute Nouveau
Re : Solver fait 'sauter' l'écran...

Merci de ta réponse, effectivement Solver Load charge des paramètres de résolution préalablement mémorisés (bouton options du solver).

Le problème vient d'une grande susceptibilité du Solver quant à l'ordre des instructions, même si dans le désordre il résoud l'équation.

Il ne faut pas se fier à l'enregistrement d'une macro, et ne conserver que les lignes:

Solver Load Area:=Range("ContrainteJeu1") ' Cette aire peut être nommée
SolverSolve UserFinish:=True

Pas besoin ni de Solver OK, ni de SolverOptions leurs paramètres sont dans les lignes de ton aire "ContrainteJeu1"

...

A+

JJ
 

Statistiques des forums

Discussions
312 497
Messages
2 088 994
Membres
104 000
dernier inscrit
dinelcia