Excel reste ouvert...

Résolu
rackne Messages postés 12 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 17 août 2005 - 22 juil. 2005 à 09:17
rackne Messages postés 12 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 17 août 2005 - 25 juil. 2005 à 09:44
Bonjour, j'ai fait une appli en VB6 qui manipule des fichiers xls (que du bonheur)
En gros à l'aide d'une common dialog je recupère un nom de fichier, avec lequel je créé le fichier Excel dans lequel je mets mes infos et je le ferme
le problème ce que qd mon appli tourne, je ne peut pas ouvrir les fichiers Excel créés (excel affiche rien du tt a part la barre des outils tt en haut et le menu)
Par déduction, jme dis que jdois avoir qqc d'ouvert qu'il faudrait fermer pour que ca marche (parce que qd je ferme l'appli VB pas de problèmes, mes fichiers s'ouvrent sans problèmes)
Voila en gros le code pour la gestion de la création/remplissage/fermeture du fichier

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim xlStyle As Excel.Style

'creation du fichier excel
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

'remplissage du classeur avec des chiffres des traits des 'calculs, du pur bonheur informatique
....
'fin remplissage

'On sauvegarde le fichier et on quitte Excel
xlApp.ActiveWorkbook.SaveAs (nomFichier + "_" + mois + "_" + annee)
Workbooks.Close
xlApp.Application.Workbooks.Close
'on sort d'Excel si on a coché la case à cocher Quitter apres 'l'exportation Excel
If quitterExcel Then xlApp.Application.Quit

'fin du code

Donc voila si quelqu'un sait ce que j'ai (probablement) oublié de fermer ca serait sympa de me prevenir.


"La meilleure facon de dire, c'est faire"


Ernesto Guevara de la Serna

6 réponses

rackne Messages postés 12 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 17 août 2005
25 juil. 2005 à 09:44
mea culpa mea culpa meeeeeeeeea cuuuuuuuuulpa
je suis stupide jle reconnais....
apparement le code ci-dessus marchais bien mais c'etait à l'initialisation que j'appelais mal le classeur....en gros au lieu d'écrire
set xlbook = xlapp.workbooks.open(chemin)
jmettais
set xlbook = workbooks.open(chemin)
donc forécement mon objet xlapp pointais dans les choux (expression favorite de tous mes profs d'algo reunis) et pour fermer un objet qui pointe on sais pas trop où... bah c'est le dawa......
bon si jpx aider quelqu'un sur les objets excel qu'il me previenne, je sais que c [mailto:ch@#%ù ch@#%ù]!!!! à gérer et qu'un coup de main, ca fait du bien ;p

"La meilleure facon de dire, c'est faire"


Ernesto Guevara de la Serna
3
actu5394 Messages postés 41 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 16 octobre 2005
22 juil. 2005 à 09:33
Bonjour,
A première vue je serai tenté de dire que si "quitterExcel" s'avère vrai alors...
donc if quitterExcel = True ???
0
rackne Messages postés 12 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 17 août 2005
22 juil. 2005 à 09:36
non le problème est plus compliqué que ça en fait
if quitterExcel = true sert juste à fermer l'application Excel
même quand la ligne xlApp.Application


"La meilleure facon de dire, c'est faire"


Ernesto Guevara de la Serna
0
actu5394 Messages postés 41 Date d'inscription jeudi 25 avril 2002 Statut Membre Dernière intervention 16 octobre 2005
22 juil. 2005 à 09:53
Tu fermes Workbooks => "Workbooks.Close".
Ne devrais-tu pas fermer ActiveWorkbook => "ActiveWorkbook.Close" ??
As-tu essayé :
xlApp.Quit
Set xlApp = Nothing ??
0

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

Posez votre question
rackne Messages postés 12 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 17 août 2005
22 juil. 2005 à 11:06
hmmmm.... jdeviens desespéré là.....
euh non j'ai tout rajouter et ca marche toujours pas.... :\
en tout cas merci de m'aider et si t'as des autres suggestions....hésite pas!!


"La meilleure facon de dire, c'est faire"


Ernesto Guevara de la Serna
0
rackne Messages postés 12 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 17 août 2005
22 juil. 2005 à 15:58
Bon alors sur le site de la msdn j'ai trouvé un truc
ThisWorkbook.close
ca marche avec ça en complément
Set xlBook = Nothing
Set xlSheet = Nothing
excel.Application.Quit
bon mtnt je sais pas si c'est pcq j'ai du bol ou que c'est une coincidence ou le sacrifice de mon poulet qui a marcher, mais ca marche sauf que ca me laisse excel ouvert, sans classeur ouvert certes, mais qd meme ouvert......
si ca peut aider quelqu'un ...enjoy....


"La meilleure facon de dire, c'est faire"


Ernesto Guevara de la Serna
0
Rejoignez-nous