Taviox
Messages postés6Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention19 août 2003
-
25 juil. 2002 à 09:43
flegros
Messages postés14Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention20 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...)?
cs_Xime
Messages postés75Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention24 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
cs_Xime
Messages postés75Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention24 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.
Taviox
Messages postés6Date d'inscriptionjeudi 25 juillet 2002StatutMembreDernière intervention19 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
rackne
Messages postés12Date d'inscriptionvendredi 1 juillet 2005StatutMembreDernière intervention17 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....
flegros
Messages postés14Date d'inscriptionvendredi 26 août 2005StatutMembreDernière intervention20 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"