VB6 : problème d'enregistrement et fermeture d'un classeur Excel après modif
cs_Pixel
Messages postés17Date d'inscriptionsamedi 23 février 2002StatutMembreDernière intervention24 juin 2011
-
22 sept. 2009 à 16:28
cs_Ayr
Messages postés221Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention13 décembre 2009
-
22 sept. 2009 à 20:06
bonjour à tous
j'ai un problème avec mon code lorsque je veux fermer un fichier excel...
'=============================================
Dim appExcel As Excel.Application
Dim wBookExcel As Excel.Workbook
Dim wSheetExcel As Excel.Worksheet
'Ouverture de l'application
Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
Set wBookExcel = appExcel.Workbooks.Open(Rép & "filesource.xls")
'ouvre la première feuille
Set wSheetExcel = wBookExcel.ActiveSheet
With wSheetExcel
'là je fais toutes mes modif dans la feuille du fichier filesource.xls...
'je définis le nouveau nom du fichier à enregistrer ...
newFileNameOF = "newname.xls"
'je l'enregistre avec le nouveau nom...
ActiveWorkbook.SaveAs Filename:=Rép_OF & "" & newFileNameOF , FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
'et après je veux tout fermer...
Call wBookExcel.Close(False) 'pour fermer sans modifier le fichier source
'et on vide la mémoire
Set wSheetExcel = Nothing
Set wBookExcel = Nothing
Set appExcel = Nothing
appExcel.Quit 'Fermeture de l'application Excel
Mon problème et que çà plante à la dernière ligne "appExcel.quit"
et lorsque je supprome cette ligne, et que le traitement se fait en boucle, lors de la 2ème tentative d'enregistrement du fichier avec un nouveau nom, çà plante à la ligne "ActiveWorkbook.SaveAs Filename:=Rép_OF & "" & newFileNameOF , FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False"
et là, çà fait 2 jours que je cherche, et je trouve rien...
Je pense qu'il y a un problème dans mon code, mais je ne trouva pas l'erreur.
si qq1 pouvait m'aider, ce serait sympa
merci
A voir également:
VB6 : problème d'enregistrement et fermeture d'un classeur Excel après modif
cs_Ayr
Messages postés221Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention13 décembre 20092 22 sept. 2009 à 20:05
Bonjour,
Pour le premier problème, tu doit mettre appExcel.Quit avant Set appExcel = Nothing. C'est logique car si tu affecte Nothing à l'objet appExcel, ce n'est plus un objet Excel.application et tu ne peux donc plus faire Quit.
Pour le deuxième, désolé mais je n'ai pas bien suivi. Peux-tu préciser le texte de l'erreur au moment où ça plante ?
Peux-tu préciser "Quand le traitement se fait en boucle" ? Comment utilise-tu ce code ? Dans une procédure que tu lance en boucle ? Si oui, as-t-elle des parametres ou il n'y à que des valeurs en dur dans le code ? Comme "newname.xls" par exemple.