Processus Excel persistant
Bonjour à tous,
Après maintes recherches sur le web et ce forum, j'ai vu pas mal de sujets qui traitent de mon problème, mais les réponses proposées ne le résolvent pas :?
Je fais un import d'un fichier Excel sur Access (fichier Excel décomposé en 3 onglets dont seul le 1er m'intéresse) en créant une nouvelle table. A noter que le transfert ne se fait que pour un seul enregistrement.
Le transfert fonctionne à merveille, mais lorsque je veux le recommencer, je me rend compte qu'un processus Excel reste présent malgré la fermeture de mon appli et m'empêche de refaire le transfert...
Je vous mets mon code, j'espère que vous pourrez me dire ce qui cloche...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
Private Sub Commande461_Click()
Dim fichierexcel As Excel.Application
Dim classeur As Excel.Workbook
Dim feuille As Excel.Worksheet
Dim qd As QueryDef
'Vérification si Excel est déjà ouvert
Dim excel_ouvert As Boolean
Set fichierexcel = Nothing
excel_ouvert = False
On Error Resume Next
Set fichierexcel = GetObject("excel.application")
On Error GoTo 0
If fichierexcel Is Nothing Then
Set fichierexcel = CreateObject("Excel.Application")
excel_ouvert = True
End If
'Création table temporaire pour stocker les données reprises dans excel
[...]
'Ouverture du fichier Excel
Set classeur = fichierexcel.Workbooks.Open("D:\...\fichier.xls")
fichierexcel.Visible = True
'Exécution d'une macro excel qui met en forme mes données
fichierexcel.Run ("Export_new")
'Transfert des données
DoCmd.TransferSpreadsheet acImport, , "temp", ("D:\...\fichier.xls"), True, "Export_access_new!A1:BL2"
classeur.Close (False)
Excel.Application.Quit
Set feuille = Nothing
Set classeur = Nothing
Set fichierexcel = Nothing
End Sub |
J'ai même essayé d'ajouter un code au début pour voir si l'appli Excel est déjà ouverte, mais ça n'a pas l'air de fonctionner...
Merci d'avance pour l'aide que vous pourrez m'apporter ;)