OVH Cloud OVH Cloud

Excel 2002 : solveur à l'ouverture ?

3 réponses
Avatar
julien
Bonjour

Je souhaite avec Excel 2002 appeler le solveur soit =E0=20
l'ouverture d'un classeur, soit via Access par automation.=20
Le probl=E8me c'est que dans ces cas Excel me retourne un=20
message d'erreur "Solveur: une erreur est survenue, ou la=20
m=E9moire disponible est satur=E9e" alors que les macros=20
fonctionnent lorsqu'elles sont appel=E9es manuellement. De=20
plus, apres le message d'erreur, si j'ouvre et referme =E0=20
la main le solveur, et que je relance l'execution du code,=20
tout marche.
Enfin, je tiens =E0 pr=E9ciser que les references sont bien=20
charg=E9s dans excel et dans VBA.

Est-ce un bug d'excel 2002 ? y'a-t-il quelquechose =E0=20
faire ?

3 réponses

Avatar
michdenis
Bonjour Julien,

Quand tu utilises l'automation pour créer une instance de l'application "Excel", il y a certaines caractéristiques que
tu dois tenir compte dont celle qui te préoccupe ... l'instance ainsi créé ne chargera pas la ou les macros
complémentaires requises pour que tu puisses travailler avec le solveur.

Tu dois alors charger par ligne de code à ton programme charger les macros complémentaires dont tu as besoin.

Ça pourrait donner quelque chose comme :

Le chemin indiqué dans la macro est issu d'un système d'exploitation Windows Xp PRo. et Excel 2002. Il se peut très bien
que ton fichier "Solver.xla" ait un autre chemin selon les version d'office et de Windows que tu possèdes...

'----------------------------
Sub AjoutRéférence_Solver()

Dim Xl As Object, Wk As Workbook, Fichier As String
Fichier = "C:Program FilesMicrosoft Office" & _
"Office10MacrolibSolversolver.xla"

Set Xl = CreateObject("Excel.Application")
Set Wk = Xl.Workbooks.Add
Xl.Visible = True

On Error Resume Next
'S'assurer que la référence est chargée
Wk.VBProject.References.AddFromFile Fichier

End Sub
'----------------------------


Salutations!




"julien" a écrit dans le message de
news:1213e01c44273$32c3edf0$
Bonjour

Je souhaite avec Excel 2002 appeler le solveur soit à
l'ouverture d'un classeur, soit via Access par automation.
Le problème c'est que dans ces cas Excel me retourne un
message d'erreur "Solveur: une erreur est survenue, ou la
mémoire disponible est saturée" alors que les macros
fonctionnent lorsqu'elles sont appelées manuellement. De
plus, apres le message d'erreur, si j'ouvre et referme à
la main le solveur, et que je relance l'execution du code,
tout marche.
Enfin, je tiens à préciser que les references sont bien
chargés dans excel et dans VBA.

Est-ce un bug d'excel 2002 ? y'a-t-il quelquechose à
faire ?
Avatar
julien
Merci de ta réponse
Cependant, j'ai bel et bien chargé solver.xla qui apparait dans la liste des references de mon projet
J'ai pu constater que je ne suis pas le seul à avoir ce problème avec excel 2002, et il s'agit certainement d'un bug propre à cette version
Salutations !
Avatar
michdenis
Bonjour Julien,

"j'ai bel et bien chargé solver.xla" ... je sais, tu l'avais écrit dans la donne originale de ta problématique lors de
ton premier message !

As-tu essayé le code que je t'ai donné; lorsque tu ouvres ton classeur par automation, de charger la référence ...



Salutations!


"julien" a écrit dans le message de
news:
Merci de ta réponse,
Cependant, j'ai bel et bien chargé solver.xla qui apparait dans la liste des references de mon projet.
J'ai pu constater que je ne suis pas le seul à avoir ce problème avec excel 2002, et il s'agit certainement d'un bug
propre à cette version.
Salutations !