Bonjour à tous,

Voici mon code qui n'est qu'un exemple simplifié pour montrer le problème que je rencontre. J'ai détaillé dans le code la partie qui pose 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
40
41
42
43
44
45
46
47
48
49
50
51
Option Compare Database
 
Function Export_Etat_E_TEST()
 
    'La référence 'Microsoft Excel 12.0 Object Library' doit être activée
    Dim xlApp As Excel.Application
    Dim xlSheet As Excel.Worksheet
    Dim xlBook As Excel.Workbook
 
 
    'Initialisations
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Add
 
    'Ajouter une feuille de calcul
    Set xlSheet = xlBook.Worksheets.Add
    xlSheet.Name = "test" 'renommer la feuille
 
 
 
 
    '*********    LE PROBLEME SE SITUE DANS CETTE PARTIE  ******************
 
    '1ère version qui pose problème :
    'bug au bout de la 2ème fois, car Excel reste toujours actif dans les processus
    '(cf. gestionnaire des tâches)
    'xlSheet.Range(Cells(2, 2), Cells(8, 8)).Value = "coucou" 'ligne à dé-commenter pour voir le bug
 
    '2ème version qui marche :
    xlSheet.Range("A2:H8").Value = "coucou" 'marche tout le temps
 
 
    '************************************************************
 
 
 
    'enregistrement du fichier
    xlBook.SaveAs CurrentProject.Path & "\bug.xlsx"
 
    'Message de fin
    MsgBox "Fichier Excel créé avec succès", vbInformation
 
 
    'fermeture et libération des objets
    xlApp.Quit
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing
 
 
End Function

En fait, quand on utilise cette version de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
xlSheet.Range(Cells(2, 2), Cells(8, 8)).Value = "coucou"
on remarque dans les processus du gestionnaire des tâches, que Excel ne se ferme pas !!!! Le processus reste actif malgré la libération des variables en fin de code... c'est le fait d'utiliser "Cells" qui pose problème...

Alors que ça ça marche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
xlSheet.Range("A2:H8").Value = "coucou" 'marche tout le temps


Quelqu'un peut-il m'aider ? C'est très embêttant, car lorsque l'on relance le code une 2ème fois ça plante, comme le processus n'a pas pu se fermer.



Par avance merci.


Dams'