Bonjour à Tous,
Cela fait 2h que je cherche une réponse à ce problème sur internet mais je ne trouve pas...
J'utilise Excel 2003 sous XP et ai créé une macro utilisant le Solver dans une fonction retournant la valeur de la case "Changing".
Tous les arguments sont corrects car vérifiés et revérifiés en faisant tourner le code lentement etc...
En faisant exactement la même opération dans une simple feuille Excel j'obtiens le résultat voulu par contre VBA ne fonctionne pas.
Je vais disposer le code ci dessous pour que vous puissiez vérifier mais avant je veux préciser que le solver.xla est bien coché et au'il ne s'agit pas d'une erreur de frappe ou d'argument.
Ceci me donne le resultat suivant "Solver : An Unexpected internal Error occured, or available memory was exhausted"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Function ISolveAll(MinimumPressureCell As Range, TargetValue As Long, ChangingCell) As Long Application.run "solver.xla!Auto_open" 'On programme le solver SolverOk SetCell:=MinimumPressureCell.Address, MaxMinVal:=3, ValueOf:=TargetValue, ByChange:=ChangingCell.Address 'On execute le solver SolverSolve UserFinish:=True ISolveAll = ChangingCell.Value SolverFinish KeepFinal:=1
Il semble que cela soit un problème récurrent du solver mais je ne comprends pas d'ou ça vient et il faut que je réussisse à le faire marcher.
Aussi il ne bug qu'après la ligne SolverFInish et quand je ne mets pas de SolverFinish il ne change absolument rien sur la feuille et me donne la valeur initiale de la cellule ChangingCell, en gros il ne fonctionne pas.
A noté aussi que le solver n'était pas directement proposé dans la liste de références et que j'ai du aller le chercher par moi meme dans un obscure ficher OFFICE 11 d fichier Microsoft office.
Merci pour votre aide parce que je commence à en avoir vraiment marre !
Partager