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 :
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...
Code : Sélectionner tout - Visualiser dans une fenêtre à part xlSheet.Range(Cells(2, 2), Cells(8, 8)).Value = "coucou"
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'
Partager