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
Ensuite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager