Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Instance Excel avec Access (automation)

2 réponses
Avatar
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/

2 réponses

Avatar
FxM
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




Avatar
michdenis
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" a écrit dans le message de news:
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/