Fermeture Excel bug

Fermeture Excel bug - VB/VBA/VBS - Programmation

Marsh Posté le 18-06-2010 à 11:37:31    

Bonjour,  
j'ai un petit souci de pilotage d'excel via Access :
Lorsque je lance mon code, il fonctionne et me créer un Excel. Mais à la seconde execution (sans changer, ni les donnée, ni le code) ça bug sur un Range et un processus EXCEL.EXE32* est visible dans le gestionnaire des taches alors que je n'est aucun Excel d'ouvert (du moins de visible...)  
Voici mes déclarations :  
 

Code :
  1. 'déclaration excel
  2.     Dim xlApp As EXCEL.Application
  3.     Dim xlSheet As EXCEL.Worksheet
  4.     Dim xlBook As EXCEL.Workbook
  5.     Set xlApp = CreateObject("Excel.Application" )
  6.     Set xlBook = xlApp.Workbooks.Open("c:\mon_chemin.xls" )
  7.                        
  8.                        
  9.                     ' code code code
  10. 'Fermeture
  11.     xlBook.Close (False)
  12.     xlApp.Quit
  13. ' désallocation mémoire
  14.     Set xlSheet = Nothing
  15.     Set xlBook = Nothing
  16.     Set xlApp = Nothing


 
 
Bon, je kill le processus à la main. Je relance et là il me fait une erreur en me disant que le server distant n'existe pas ou n'est pas disponible (je suis en local).
On m'a dit que pour fermer proprement excel, il faut qu'il soit visible. J'ai donc rajouter en en-tête l'instruction :
xlApp.Visible = True
Mais cela ne change rien
 
Quelqu'un à une idée ?
Merci d'avance

Reply

Marsh Posté le 18-06-2010 à 11:37:31   

Reply

Marsh Posté le 18-06-2010 à 11:48:30    

Pourquoi créer 3 sujets pour le meme traitement ???
 
C'est seulement une instance vide d'Excel qui reste ouverte ou ton fichier ?
Si ouvres ton fichier alors que l'instance d'Excel est toujours ouverte, il l'ouvre en lecture seule ?


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 18-06-2010 à 12:15:06    

Quels sont les 3 sujets dont tu parles ?
 
Lorsque je met le classeur en visible ( xlApp.Visible = true ), mon classeur s'affiche (normal) lorsque l'erreur de range intervient. J'ai juste à le fermer à la main et là pas de souci d'instance excel.exe32* ( mais mon programme bug quand même).
 
S'il n'est pas visible, ca bug aussi, mais l'instance n'est pas fermée, et je dois killer l'instance dans le gestionnaire. Si j'ouvre le fichier en question, il est dis verrouillé ( donc lecture seule).

Reply

Marsh Posté le 18-06-2010 à 13:00:31    

Celui ci (Ce post est d'ailleurs une reprise du dernier message), celui la et celui sur lequel on est.
 
Tous les 3 se rapportent au meme sujet. Ton integration d'un fichier Excel dans une base Access.
 
 
Perso avec
XLApp.Quit
Set XLApp = Nothing
je n'ai plus d'instance Excel
 
Sinon essaie un GetObject(,"excel.Application" ).Quit


Message édité par SuppotDeSaTante le 18-06-2010 à 13:01:53

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 18-06-2010 à 14:16:24    

J'ai préféré recréer un sujet pour préciser le problème plutôt que de garder un gros sujet bourré de problème.
 
Bref, j'ai finalement réussi à résoudre mon problème :  
Il fallait sortir de la boucle les instructions :
Set xlApp = CreateObject("Excel.Application" )
Set xlApp = Nothing
voilà, merci.

Reply

Marsh Posté le 18-06-2010 à 16:06:55    

le_sayan a écrit :

J'ai préféré recréer un sujet pour préciser le problème plutôt que de garder un gros sujet bourré de problème.


 
Ce qui n'est pas évident pour moi ou autres pour suivre le truc...
 
Utilise plutot ce que j'ai mis plus haut, apparemment sous >Vista le pb persiste.


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed