Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1359 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] Fermer Excel depuis Access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB] Fermer Excel depuis Access

n°1135957
cybertiti
Posté le 30-06-2005 à 14:43:09  profilanswer
 

Bonjour a tous,
Je n'arrive pas a fermer excel depuis Access; Excel est toujours visible dans le gestionnaire des taches sous Win XP SP2. Voici le code que j'utilise:
 

Citation :


...
Set ApplicationExcel = CreateObject("Excel.Application" )
ApplicationExcel.Application.Workbooks.Open nomCompletFichierCanevas
Set ClasseurExcel = ApplicationExcel.Application.ActiveWorkbook
ClasseurExcel.Application.Visible = True
...
...
ClasseurExcel.SaveAs (nomFichierEXCEL)
ClasseurExcel.Close savechanges:=False
ApplicationExcel.Application.Quit
Set ClasseurExcel = Nothing
Set ApplicationExcel = Nothing


 
Quelqu'un aurait une idée? une piste?
 
EDIT: Petite précision: Excel 2000 et Access 2000 :hello:

mood
Publicité
Posté le 30-06-2005 à 14:43:09  profilanswer
 

n°1136730
cybertiti
Posté le 01-07-2005 à 08:25:14  profilanswer
 

Personne pour m'aider?

n°1136792
Juntao2k2
Posté le 01-07-2005 à 09:29:49  profilanswer
 

Essaye en fermant le workbook (quand j'avais travaillé avec Excel je fermais le worksheet, le workbook puis l'application, sans quoi Excel devenait out process).


Message édité par Juntao2k2 le 01-07-2005 à 09:30:11
n°1136804
cybertiti
Posté le 01-07-2005 à 09:37:04  profilanswer
 

Ce n'est pas deja ce que je fais avec "ClasseurExcel.Close savechanges:=False" ?

n°1137351
cybertiti
Posté le 01-07-2005 à 15:34:53  profilanswer
 

Pas d'autre idée ?

n°1138966
Juntao2k2
Posté le 04-07-2005 à 01:37:02  profilanswer
 

Désolé, y'avais pas fait attention à ca  
Quel est le traitement représenté par les 2 lignes ... ?

n°1139025
cybertiti
Posté le 04-07-2005 à 09:28:54  profilanswer
 

Merci a toi Juntao2k2 de m'apporter ton aide :)
 
Sans rentrer dans les details, les 2 lignes ... permettent:
- la création de multiples feuilles excel par copie de feuille contenues dans nomCompletFichierCanevas
- l'insertion de données provenant de requetes d'access
- l'insertion de plan Autocad avec leur redimensionnement
- la supression des feuilles "modeles" dans le classeur excel d'origine
 
Toutes les opérations se déroulent sans aucun problème, sans aucun message d'erreur.
 
Le gros soucis, sans parler de générer un code fonctionnant proprement, c'est que l'instance Excel atteint 360 Mo en mémoire  :pfff:  

n°1139989
cybertiti
Posté le 05-07-2005 à 08:28:18  profilanswer
 

Plus personne ?

n°1141543
Krocc
Posté le 06-07-2005 à 00:18:19  profilanswer
 

Il me semble que pour quitter Excel et libérer la mémoire utilisée il faut juste utiliser :  
 
 

Citation :


'Quitte Excel
ApplicationExcel.Quit
'Libère la mémoire
Set ApplicationExcel = Nothing  


 
(Sous Access 2003 car je n'ai plus sous la main le 2000 :p )
 
En espérant t'aider
 
[Edit]  
Il me semble que ClasseurExcel.Close savechanges:=False est le code de vb sous excel
Sous Access , ça s'apparente plutôt à ApplicationExcel .ActiveWorkbook.Saved = True (Pour qu'il ne nous pose pas la question)


Message édité par Krocc le 06-07-2005 à 00:46:23
n°1141610
cybertiti
Posté le 06-07-2005 à 08:16:38  profilanswer
 

Krocc, merci d'essayer de m'aider  :hello:  

Citation :

ApplicationExcel.Quit

donne le même résultat que

Citation :

ApplicationExcel.Application.Quit


 
Pour

Citation :

ClasseurExcel.Close savechanges:=False


j'ai déja sauvegarder le classeur avant avec un nom différent de celui sous lequel je l'ai ouvert, donc je le ferme sans sauvegarder et sans poser la question.
 
Vraiment je suis perdu, je pense maintenant a un bug excel  :cry:

mood
Publicité
Posté le 06-07-2005 à 08:16:38  profilanswer
 

n°1142168
cybertiti
Posté le 06-07-2005 à 15:02:41  profilanswer
 

J'ai trouvé!!!
 
Tout d'abbord, merci a ceux qui m'ont aidé  :)  
 
La solution:
pour la suppresion de feuilles dans excel, j'ai remplacé

Citation :

ClasseurExcel.Worksheets(i).Select
ActiveWindow.SelectedSheets.Delete


par

Citation :

ClasseurExcel.Worksheets(i).Delete


 
et par miracle mon process Excel.exe disparait a la fin du traitement.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] Fermer Excel depuis Access

 

Sujets relatifs
Access: erreur OBDC sur champ non renseignéVb sous excel , aide
comment Envoyer de Données sur excel A partir de Accessprobleme acev application excel avec macro
comment générer un document Word avec access?quelques question sur excel....
Problème OleDb sur Base AccessVb sous excel . fonction a faire
Access 
Plus de sujets relatifs à : [VB] Fermer Excel depuis Access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR