VB6 + Excel

Résolu
cs_pcvesoul Messages postés 123 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 25 juillet 2007 - 21 sept. 2005 à 09:42
cs_pcvesoul Messages postés 123 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 25 juillet 2007 - 22 sept. 2005 à 05:13
Quand je lance 2 fois de suite une generation de fichier excel, ca plante :

Au début :
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = False
AppExcel.AlertBeforeOverwriting = False
AppExcel.DisplayAlerts = False
Set FichierExcel = AppExcel.Workbooks.Add

Puis mon traitement ...

A la fin :
FichierExcel.Close True, Txt1 & "" & Left(Txt2, Len(Txt2) - 4) & "_" & Rx0!Libelle & ".xls"
Set FichierExcel = Nothing
AppExcel.Quit
Set AppExcel = Nothing

Si je retourne à "Au début", ca finit par planter. Quelqu'un pourrait-il m'expliquer pourquoi ? merc d'acance.

8 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
21 sept. 2005 à 18:40
Salut pcvesoul, si j'essaie le dernier bout de code que tu as posté, chez moi ça ne plante pas, par contre le fichier n'est pas créé s'il n'existe pas.


Pour que ça fonctionne, j'ai été obligé de modifier comme ça :


Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = False
AppExcel.AlertBeforeOverwriting = False
AppExcel.DisplayAlerts = False


Set FichierExcel = AppExcel.Workbooks.Add
'traitement

FichierExcel.SaveAs Txt1 & "" & Left(Txt2, Len(Txt2) - 4) & "_" & Rx0!Libelle & ".xls", , , , , , , True
FichierExcel.Close
Set FichierExcel = Nothing


AppExcel.Quit
Set AppExcel = Nothing

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
3
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
21 sept. 2005 à 10:40
C'est quoi ton message d'erreur ?




Manu
-------------------------------------------
Une question bien posée, c'est une chance de réponse bien adaptée.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 sept. 2005 à 13:20
salut
Set FichierExcel = Nothing
AppExcel.Quit
inverse ces 2 lignes
PCPT
0
cs_pcvesoul Messages postés 123 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 25 juillet 2007 1
21 sept. 2005 à 13:54
Je ne peux plus car j'ai changé l'ordre de traitement :

Au début :
Set AppExcel = CreateObject("Excel.Application")
AppExcel.Visible = False
AppExcel.AlertBeforeOverwriting = False
AppExcel.DisplayAlerts = False

Pour chaque fichier excel :
Set FichierExcel = AppExcel.Workbooks.Add
Puis mon traitement ...
FichierExcel.Close True, Txt1 & "" & Left(Txt2, Len(Txt2) - 4) & "_" & Rx0!Libelle & ".xls"
Set FichierExcel = Nothing

A la fin :
AppExcel.Quit
Set AppExcel = Nothing

Donc ca marche pour chaque fichier excel, mais apres avoir donc fermer l'application excel, si je relance le meme traitement, ca plante des le 1er fichier ?
0

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

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 sept. 2005 à 13:58
salut,
alors ne fait ton Set AppExcel = Nothing qu'à la fermeture de ton appli()
PCPT
0
cs_pcvesoul Messages postés 123 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 25 juillet 2007 1
21 sept. 2005 à 14:14
Je le fais quand tout le traitement est terminé et ca plante quand je recommence. Si je ne le fais pas, ca plante aussi, et si je le fais a la fermeture de l'application, c'est sur que ca marchera puisque je serai sorti du prog...
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 sept. 2005 à 14:31
je dis à la fermeture, parceque tu détruis l'instance que tu ré-utilises avant de la re-créer.
tu n'as donc pas forcément besoin de la détruire....
PCPT
0
cs_pcvesoul Messages postés 123 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 25 juillet 2007 1
22 sept. 2005 à 05:13
Moi par contre je n'avais pas de problème de création ou d'update de fichier mais je vais quand même tenir compte de ta remarque car cela peut se produire chez un client.

Merci et @+
0
Rejoignez-nous