URGENT: Processus Excel et Application VBA

turnam Messages postés 20 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 30 juin 2004 - 8 mars 2004 à 10:13
cs_loveinwave Messages postés 5 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 30 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.

J'ai vraiment besoin d'aide

Merci d'avance ;)

9 réponses

darollinghobbit Messages postés 55 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 18 juin 2004 1
8 mars 2004 à 10:16
Peut être vais je dire une bêtise mais est ce que tu fais bien un NomObjet.Quit avant de faire ton set NomObjet = nothing?
0
turnam Messages postés 20 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 30 juin 2004
8 mars 2004 à 10:46
Oui, j'ai fait exactement ca.

Merci quand même
0
darollinghobbit Messages postés 55 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 18 juin 2004 1
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
0
turnam Messages postés 20 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 30 juin 2004
8 mars 2004 à 13:51
Mon traitement semble se dérouler comme il faut.

Quel genre d'erreur tu avais?

J'utilise bien SaveAs pour sauvgarder le fichier, et cela marche parfaitement.

Pour le code ca va être dur, car il y en a bcp, je vais essayer de le simplifier avant de le montrer.

Dis moi quand même quel genre d'erreur tu avais car ca pourra peut être m'aider.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
turnam Messages postés 20 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 30 juin 2004
8 mars 2004 à 13:51
Mon traitement semble se dérouler comme il faut.

Quel genre d'erreur tu avais?

J'utilise bien SaveAs pour sauvgarder le fichier, et cela marche parfaitement.

Pour le code ca va être dur, car il y en a bcp, je vais essayer de le simplifier avant de le montrer.

Dis moi quand même quel genre d'erreur tu avais car ca pourra peut être m'aider.
0
darollinghobbit Messages postés 55 Date d'inscription mardi 2 mars 2004 Statut Membre Dernière intervention 18 juin 2004 1
8 mars 2004 à 14:00
Il pouvait s'agir de n'importe quelle erreur, mon code passait alors dans le traitement d'erreur et du coup, l'objet excel n'était pas libéré
0
turnam Messages postés 20 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 30 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.

Bref, je suis pas encore près de m'en sortir.
0
turnam Messages postés 20 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 30 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
0
cs_loveinwave Messages postés 5 Date d'inscription samedi 18 août 2007 Statut Membre Dernière intervention 30 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!!!!!!!!!!
0
Rejoignez-nous