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 :
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
Si qqun sait d'où vient le problème mais surtout comment le résoudre, cela m'intéresse.

Cordialement.