turnam
Messages postés20Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention30 juin 2004
-
8 mars 2004 à 10:13
cs_loveinwave
Messages postés5Date d'inscriptionsamedi 18 août 2007StatutMembreDernière intervention30 juillet 2010
-
4 juin 2008 à 21:13
Bonjour,
Je développe une application sous Acces en VBA qui à pour but de créer un document Excel à partir de données se trouvant dans une base Access.
Bref, je n'ai aucun problème pour créer le document, mais par contre si j'essaye de fermer excel (je ne veux pas que l'utilisateur le ferme manuellement) et de libérer la mémoire, le processus reste en fond.
C'est un peut embêtant, car un nouveau processus Excel est créé à chaque création de document, ce qui fait que l'on se retrouve avec une multitude de processus excel en mémoire.
D'ailleurs la fermeture de l'application VBA ne change rien, les processus Excel reste en mémoire.
J'utilise la méthode CreateObjet pour créer l'application Excel
Pour la fermeture, je ferme le document et ensuite je libère la mémoire avec
set NomObjet = nothing
enfin j'essaye :(
Voila, je cherche un moyen efficace de libérer la mémoire après l'utilisation d'excel.
(j'ai pensé à tuer le processus, mais je ne sais pas comment m'y prendre, surtout que je veux fermer seulement les processus excel créés par mon application VBA et non les autres si il y en a)
Note : Mon application utilise aussi Outlook, et j'ai le même problème.
darollinghobbit
Messages postés55Date d'inscriptionmardi 2 mars 2004StatutMembreDernière intervention18 juin 20041 8 mars 2004 à 11:49
Et tu n'as pas d'erreur sur ta sub?
J'ai bossé sur un problématique de ce genre et chaque fois que j'avais une erreur dans mon traitement, une instance d'Excel continuait à tourner.
Sinon, tu fais quoi comme sauvegarde avec ton objet Save ou SaveAs? Comme tu créé un nouveau doc tu dois utiliser un SaveAs tonfichier, sinon cela va planter.
Au pire, si tu me fais voir ton code, je peux y jeter un oeil
turnam
Messages postés20Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention30 juin 2004 8 mars 2004 à 15:21
C'est ce que je pensais, mais moi je n'ai aucune erreur.
Par contre je crois avoir trouvé, j'utilisais un modèle pour créer mon document et la mémoire n'était pas libérée, alors que si je pars d'un document vierge tout ce passe comme je l'avais prévu, excel se ferme et la mémoire est libéré.
Déjà, cela ne me réjouit pas car je vais devoir coder plein de nouvelles choses pour arriver au même résultat, et de plus, le problème persiste avec outlook alors que je n'utilise aucun modèle.
turnam
Messages postés20Date d'inscriptionvendredi 10 janvier 2003StatutMembreDernière intervention30 juin 2004 9 mars 2004 à 09:47
J'ai finalement testé mon application sous windows 2000 (et avec office XP) et la aucun problème (même avec l'utilisation d'un modèle), le processus excel est bien tuer comme je le veux, seul le processus d'outlook reste en mémoire, mais heureusement il est détruit dès la fermeture de mon application.
Rappel : J'utilisais Office 2000 sous Windows XP familliale
cs_loveinwave
Messages postés5Date d'inscriptionsamedi 18 août 2007StatutMembreDernière intervention30 juillet 2010 4 juin 2008 à 21:13
Slt,
je suis une débutante en matière de programmation alors que je dois réaliser un développement applicatif où à la fin je dois obtenir un bordereau de prix de matériels imprimable. Pouvez vous m'aider svp?
NB: le bordereau servira à faire un devis et dois contenir le montant des fournitures et celui de la main d'oeuvre. Ces montants doivent être tirés d'une base de données Access.
Merci bcp!!!!!!!!!!