Bonjour à tous,

Je fais appel à votre expertise pour éclairer ma lanterne. J'ai le code suivant :
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
 
    Dim gestExcel As GestionnaireExcel
    Dim rpt As GestionnaireRapportExcel
 
    Set gestExcel = New GestionnaireExcel
    Set rpt = New GestionnaireRapportExcel
 
    Call rpt.nouveau("C:\Documents and Settings\b0087378\My Documents\WarrantyDB\Analyse\Fichiers exemples\2007-2008\February 2007\DWL.xls", _
                     "Jan 27 to Feb 23_DL 3000")
 
    Call rpt.initPGB("Test", "Test", 100)
    Call rpt.prepareReportForImport("ZSPWAR3000", Manipulation_Access_Metadata.getNbColonnes("TBL_ZSPWAR"))
 
    DoCmd.TransferSpreadsheet transfertype:=acImport, _
                              spreadsheettype:=acSpreadsheetTypeExcel8, _
                              tableName:="TBL_TEMP_TBL_ZSPWAR", _
                              filename:=rpt.temporaryFileName, _
                              hasfieldnames:=False, _
                              Range:=rpt.temporarySheetName & "!"
    DoEvents
 
    Call rpt.closePGB
    rpt.closeReport
 
    Set rpt = Nothing
    Set gestExcel = Nothing
Lorsque j'importe, j'ai 2 problèmes: le premier, c'est que Excel ne se ferme pas (il reste toujours dans le taskManager). Le deuxième problème, c'est que j'ai un peak d'utilisation de mémoire lors de l'exécution de la ligne transferspreadsheet (bond d'environ 50 000 à 70 000 k mais ca ne baisse que de la moitié). Donc, après quelques fichiers importés, j'ai un ralentissement notable à la fin.

J'ai lu la FAQ et le Forum à propos de Excel qui ne se ferme pas. J'ai vérifier de toujours bien nommer les objets (i.e. appExcel.wbExcel.sheetExcel.cells(y,x) ...) et tout semble correct ...

De plus, j'ai fait le test de mettre en commentaire la ligne TransferSpreadsheet et ca règle tous mes problèmes ...

Est-ce que c'est normal? Quelqu'un à déjà eu ce problème?

Merci beaucoup d'avance pour les réponses que vous me fournirai!