Instance Excel avec Access (automation)

Le
Eric RENAUD
Bonjour,
Je procède à une mise à jour d'un classeur Excel depuis Access VBA.
Le programme fonctionne parfaitement (sauf avec un SaveAs).
' Déclarations
Dim XL_App As Object
Set XL_App = CreateObject("Excel.Application")
Dim XL_classeur As Object
Dim XL_feuille As Object

With XL_App
Set XL_classeur = .Workbooks.Open(MyFile)
Set XL_feuille = XL_classeur.Sheets(MySheet)
With XL_feuille
.
.ActiveWorkbook.Close
.Quit
End With
' Quitter et fermer
Set XL_App = Nothing
Set XL_classeur = Nothing
Set XL_feuille = Nothing

Si au lieu de faire .ActiveWorkbook.Close, je fais .ActiveWorkbook.SaveAs
Filename:=MyPath & "2004" &.., etc
je m'aperçois qu'il reste toujours une instance d'Excel.
Comment résoudre ce cas de figure ?
D'avance merci


--

Bien cordialement
Eric Renaud
http://www.erenaud.fr.fm/
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FxM
Le #1224822
Bonjour Eric,

.saveas est enregistrer sous
.close sert à fermer
Le but n'est pas le même.

Si tu fais .saveas puis .close ?

@+
FxM (pas sûr de son coup)



Eric RENAUD wrote:

Bonjour,
Je procède à une mise à jour d'un classeur Excel depuis Access VBA.
Le programme fonctionne parfaitement (sauf avec un SaveAs).
' Déclarations
Dim XL_App As Object
Set XL_App = CreateObject("Excel.Application")
Dim XL_classeur As Object
Dim XL_feuille As Object

With XL_App
Set XL_classeur = .Workbooks.Open(MyFile)
Set XL_feuille = XL_classeur.Sheets(MySheet)
With XL_feuille
.............
.ActiveWorkbook.Close
.Quit
End With
' Quitter et fermer
Set XL_App = Nothing
Set XL_classeur = Nothing
Set XL_feuille = Nothing

Si au lieu de faire .ActiveWorkbook.Close, je fais .ActiveWorkbook.SaveAs
Filename:=MyPath & "2004" &....., etc
je m'aperçois qu'il reste toujours une instance d'Excel.
Comment résoudre ce cas de figure ?
D'avance merci




michdenis
Le #1225927
Bonjour Éric,

En supplément de la réponse de FxM,

Filename:=MyPath & "2004" &....., etc

Le nom d'un fichier ne peut contenir les caractères suivants : /*?>< : "


Salutations!



"Eric RENAUD" Bonjour,
Je procède à une mise à jour d'un classeur Excel depuis Access VBA.
Le programme fonctionne parfaitement (sauf avec un SaveAs).
' Déclarations
Dim XL_App As Object
Set XL_App = CreateObject("Excel.Application")
Dim XL_classeur As Object
Dim XL_feuille As Object

With XL_App
Set XL_classeur = .Workbooks.Open(MyFile)
Set XL_feuille = XL_classeur.Sheets(MySheet)
With XL_feuille
.............
.ActiveWorkbook.Close
.Quit
End With
' Quitter et fermer
Set XL_App = Nothing
Set XL_classeur = Nothing
Set XL_feuille = Nothing

Si au lieu de faire .ActiveWorkbook.Close, je fais .ActiveWorkbook.SaveAs
Filename:=MyPath & "2004" &....., etc
je m'aperçois qu'il reste toujours une instance d'Excel.
Comment résoudre ce cas de figure ?
D'avance merci


--
...........................
Bien cordialement
Eric Renaud
http://www.erenaud.fr.fm/
Publicité
Poster une réponse
Anonyme