Excel reste ouvert... [Résolu]

rackne 12 Messages postés vendredi 1 juillet 2005Date d'inscription 17 août 2005 Dernière intervention - 22 juil. 2005 à 09:17 - Dernière réponse : rackne 12 Messages postés vendredi 1 juillet 2005Date d'inscription 17 août 2005 Dernière intervention
- 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
Afficher la suite 

6 réponses

Meilleure réponse
rackne 12 Messages postés vendredi 1 juillet 2005Date d'inscription 17 août 2005 Dernière intervention - 25 juil. 2005 à 09:44
3
Merci
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

Merci rackne 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

actu5394 41 Messages postés jeudi 25 avril 2002Date d'inscription 16 octobre 2005 Dernière intervention - 22 juil. 2005 à 09:33
0
Merci
Bonjour,
A première vue je serai tenté de dire que si "quitterExcel" s'avère vrai alors...
donc if quitterExcel = True ???
rackne 12 Messages postés vendredi 1 juillet 2005Date d'inscription 17 août 2005 Dernière intervention - 22 juil. 2005 à 09:36
0
Merci
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
actu5394 41 Messages postés jeudi 25 avril 2002Date d'inscription 16 octobre 2005 Dernière intervention - 22 juil. 2005 à 09:53
0
Merci
Tu fermes Workbooks => "Workbooks.Close".
Ne devrais-tu pas fermer ActiveWorkbook => "ActiveWorkbook.Close" ??
As-tu essayé :
xlApp.Quit
Set xlApp = Nothing ??
rackne 12 Messages postés vendredi 1 juillet 2005Date d'inscription 17 août 2005 Dernière intervention - 22 juil. 2005 à 11:06
0
Merci
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
rackne 12 Messages postés vendredi 1 juillet 2005Date d'inscription 17 août 2005 Dernière intervention - 22 juil. 2005 à 15:58
0
Merci
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.