Non fermeture d'une instance Excel dans un cas d'automation depuis Access
Bonjour,
J'ai fait une interface Excel par automation dans Access.
J'ouvre une feuille Excel depuis Access, une fois quelle est rempli par des données utilisateurs, je la ferme via un bouton
dans Access et j'intégre mes données.
Cependant je n'arrive pas à supprimer une de mes instances Excel qui reste ouverte dans le gestionnaire de fichier.
Ci-dessous le code du process. J'avais initialement mis mes Objets.Excel en tant que variable globale de mon module
Excel_Pattern, que je consultais depuis ma sub Charge_Excel_Click() mais j'avais aussi le même problème d'instance non fermée.
Je ne vois pas ce qui manque.
Merci de votre aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Excel_Pattern.Ouvrir_Fichier_Excel_Pattern("ACTIS")
Ouvrir_Fichier_Excel_Pattern
Set AppExcel = CreateObject("Excel.Application")
Set xlbook = AppExcel.Workbooks.Add
Poste_Utilisateur = OSUserName
chemin_fichier = "C:\Users\" & Poste_Utilisateur & "\Documents\ACTIS1.xlsx"
AppExcel.ActiveWorkbook.SaveAs FileName:=chemin_fichier, FileFormat:=xlWorkbookNormal
With AppExcel.ActiveSheet
' cas classique
.Range("A1") = "CODE OCTAVE"
.Range("B1") = "DESIGNATION"
.Range("C1") = "CODE ARTICLE"
end with
end sub |
Ensuite
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Private Sub Charge_Excel_Click()
Dim AppExcel As Object
dim i as integer
dim chemin_fichier as string
chemin_fichier = "C:\Users\" & Poste_Utilisateur & "\Documents\ACTIS1.xlsx"
Set AppExcel = GetObject(chemin_fichier)
For i = 2 To AppExcel.ActiveSheet.Range("D65000").End(xlUp).Row
AppExcel.ActiveSheet.Range("D" & i) = CDbl(Replace(AppExcel.ActiveSheet.Range("D" & i), ".", ","))
Next i
AppExcel.Save
AppExcel.Close
Set AppExcel = Nothing
end sub |