Excel reste ouvert... [Résolu]

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

6 réponses

Meilleure réponse
Messages postés
12
Date d'inscription
vendredi 1 juillet 2005
Statut
Membre
Dernière intervention
17 août 2005
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 139 internautes nous ont dit merci ce mois-ci

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