Quitter Excel par VB (Urgent)

Taviox Messages postés 6 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 19 août 2003 - 25 juil. 2002 à 09:43
flegros Messages postés 14 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 20 février 2007 - 26 août 2005 à 15:52
Dans un programme VB 6 je dois ouvrir un fichier Excel 97, y récupérer des données pour les transférer dans une base et quitter Excel. Ce dernier ne doit bien sûr pas apparaître à l'écran.

Tout fonctionne bien mais lorsque ma procédure se termine Excel est toujours en tache de fond (malgré l'utilisation de la méthode application.quit).

Sauriez-vous commente résoudre ce problème (j'aurai besoin d'une solution avant ce soir...)?

Merci d'avance

11 réponses

cs_Xime Messages postés 75 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 24 mars 2003
25 juil. 2002 à 10:15
salut

bon j'ai deja u ce prob :)
donc a mon avis fo fermer toutes tes feuilles(worksheet) ensuite tu fermes ton classeur(workbook) sans oublié les
set xlsheet = nothing
set xlapplication = nothing

vala ;)
0
Taviox Messages postés 6 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 19 août 2003
25 juil. 2002 à 10:33
Non ça ne fonctionne toujours pas (de toute façon il refuse de supprimer toutes les feuilles d'un classeur).

Voilà actuellement ce que je fais:

' Fermeture du fichier excel

ObjExcel.DisplayAlerts = False

Call ObjWorkbook.Close

Set ObjWorkbook = Nothing

Call ObjExcel.Application.Quit

Set ObjExcel = Nothing

C'est vraiment lourd cette histoire je fai la même chose que dans l'aide...
0
cs_Xime Messages postés 75 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 24 mars 2003
25 juil. 2002 à 10:42
re :)

essaye ca alors dans cet ordre :
set ExcelFeuille = nothing
Excelappplication.displayalerts = false
Excelappplication.quit
set Excelappplication = nothing

ou sinon fai une boucle qui ferme toutes les feuilles ensuite une boucle qui ferme tous les classeurs.

bye :)
0
Taviox Messages postés 6 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 19 août 2003
25 juil. 2002 à 10:47
re

nope, marche toujours po...

j'ai déjà essayé de tout fermer mais ça change rien

par contre ce qui est bizarre c'est que le Excel en tache de fond disparait à la fin de l'execution du programme... donc il est doit bien être lié a un problème de variable vb pas déchargée
0

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

Posez votre question
Zylott Messages postés 104 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 28 septembre 2006
25 juil. 2002 à 11:33
A mon avis tu travailles en mode debug et tu stoppes ton prog à la mano.
Ce qui fait que tu as un classeur xls qui restes chargé dans windows.
0
Taviox Messages postés 6 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 19 août 2003
25 juil. 2002 à 13:00
Mauvais avis, je sais utiliser le mode débug et le gestionnaire des taches de windows quand même :-P
0
cs_stage Messages postés 37 Date d'inscription vendredi 21 juin 2002 Statut Membre Dernière intervention 13 septembre 2002
25 juil. 2002 à 14:40
ouais ben moi aussi jai été pris avec le meme probleme ... jai jamais trouvé la solution alors si tu la trouve ... contacte moi !

ce que jai faite pour l'instant ... c'est un kill du process EXCEL.EXE
pas eu trop le choix
Salut et tient moi au courant
0
cs_stage Messages postés 37 Date d'inscription vendredi 21 juin 2002 Statut Membre Dernière intervention 13 septembre 2002
25 juil. 2002 à 14:40
ouais ben moi aussi jai été pris avec le meme probleme ... jai jamais trouvé la solution alors si tu la trouve ... contacte moi !

ce que jai faite pour l'instant ... c'est un kill du process EXCEL.EXE
pas eu trop le choix
Salut et tient moi au courant
0
cs_stage Messages postés 37 Date d'inscription vendredi 21 juin 2002 Statut Membre Dernière intervention 13 septembre 2002
25 juil. 2002 à 14:40
ouais ben moi aussi jai été pris avec le meme probleme ... jai jamais trouvé la solution alors si tu la trouve ... contacte moi !

ce que jai faite pour l'instant ... c'est un kill du process EXCEL.EXE
pas eu trop le choix
Salut et tient moi au courant
0
rackne Messages postés 12 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 17 août 2005
17 août 2005 à 10:02
bon je sais ca date un peu comme poste mais pr une fois que jpx répondre à quelque chose...
en fait j'suis tombé sur le meme problème
et c'est bien la méthode .quit qui permet de sortir d'excel
perso je l'utilisais mal
j'm'explique
je fesais un objet excel
Set xlApp = CreateObject("Excel.Application")
Set xlBook = Workbooks.Open(chemin)
Set xlSheet = xlBook.Sheets(1)

le problème c'est que dans ce cas là, mon objet application pointe dans le vide
en fait la solution c'etait ca :
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(chemin)Set xlSheet xlBook.Sheets(1)>l'objet application est pointé par l'objet classeur qui est pointé par l'objet feuille
apres c'est comme pour les dragons, tu tue la tete, le reste meurt (j'ai dis dragon hein l'hydre de Lerne ca compte pas c'est une hydre pas un dragon ;p)

apres pour fermer c'est ca:

'sauvegarde du fichier Excel
xlApp.ActiveWorkbook.SaveAs (chemin)
'fermeture du fichier Excel
xlBook.Close
Set xlBook = Nothing
Set xlSheet = Nothing
xlApp.Quit

et ca marche du feu de dieu
vala
en esperant avoir été utile à quelqu'un....

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


Ernesto Guevara de la Serna
0
flegros Messages postés 14 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 20 février 2007
26 août 2005 à 15:52
Bonjour,
j'ai suivi vos conseils pour ouvrir, lire et fermer un fichier excel.
Mais bien sur il faut toujours que ce soit un peu plus compliqué ...!
Ce code fonctionne bien avec un fichier excel classique, par contre le fichier que je dois ouvrir demande systématiquement d'être enregistré (même s'il est en lecture seule et même si je ne modifie rien dedans) ...
Voila, je suis bloqué, pouvez vous m'aider. Voici mon code...

Private Sub b1_Click()
PT_XL.Visible = True
'Fichier à ouvrir
PT_XL.Workbooks.Open "c:\type.xls", ReadOnly:=True


' IgnoreReadOnlyRecommended:=True
'PT_XL.Workbooks.Open "S:\Accès aux projets.xls"


'w.Close savechanges:=False
Excelappplication.DisplayAlerts = False
Excelappplication.Quit
PT_XL.Quit
PT_XL.Close savechanges:=False
PT_XL.Workbooks.Close
Excelappplication.DisplayAlerts = False
Excelappplication.Quit
Set Excelappplication = Nothing
Set PT_XL = Nothing


End Sub


Merci d'avance
0
Rejoignez-nous