Bonjour,
Je m'en remets à vous car je ne trouve pas de solution à ce problème.
Je suis en train de faire de l'automation entre ACCESS 97 et office 2003. Et je ne sais pas pourquoi le processus Excel.exe reste en mémoire.
Voici mon code réduit à son strict minimum faisant apparaître mon problème :
Si qqun sait d'où vient le problème mais surtout comment le résoudre, cela m'intéresse.
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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 Public Sub Test() ' Déclaration des variables Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Dim plage As Excel.Range Dim nbreLignes As Integer Dim strPath As String, strFilter As String 'Récupération du chemin du fichier excel à ouvrir grâce à une boîte de dialogue 'Voir module mod_ouvrirFichier strFilter = ahtAddFilterItem(strFilter, "Classeurs Excel (*.xls)", "*.xls") strPath = ahtCommonFileOpenSave(filter:=strFilter, OpenFile:=True, DialogTitle:="Choisissez votre fichier Excel :", Flags:=ahtOFN_HIDEREADONLY) If strPath = "" Then Exit Sub 'Ouverture du classeur Excel Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True Set xlBook = xlApp.Workbooks.Open(strPath) Set xlSheet = xlBook.Sheets("Sheet1") xlSheet.Unprotect 'Définition de la plage de valeurs à vérifier (la colonne avec le nom de la ressource) nbreLignes = xlSheet.Cells(16, 6).End(xlDown).Row Set plage = Range("F16:F" & nbreLignes) ' Sauvegarde du classeur excel xlSheet.Protect xlBook.Save xlApp.Quit 'Libération des objets et sortie de la routine Set plage = Nothing Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing End Sub
Cordialement.
Partager