Salut!!
Alors j'ai fais des recherches, c'est a priori un problème courrant mais je n'arrive pas à le résoudre...
J'ouvre plusieurs classeur Excel dans mon programme.
Un fichier, puis n autres en meme temps que le premier.

Le problème est que EXCEL.EXE existe toujours jusqu'a la fin du programme...

Voici mon code :

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
52
53
54
55
56
57
 
Public Sub Main()
    ' ***************  Déclaration des variables  **************
 
    ' variables excel pour le premier fichier .txt (fichier final)
    Dim appExcel As Object 'Application Excel
    Dim wbExcel As Object 'Classeur Excel
    Dim wsExcel As Object 'Feuille Excel
 
    ' variables excel pour les autres fichiers .txt
    Dim wbExcel2 As Object 'Classeur Excel
    Dim wsExcel2 As Object  'Feuille Excel
 
    On Error GoTo Erreur
    *******CODE********
 
    'Ouverture d'Excel
    Set appExcel = CreateObject("Excel.Application")
 
    'Ouverture du fichier texte dans Excel
    Workbooks.OpenText FileName:=LireINI("G150", "PathOut") + "G150.txt", Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
    appExcel.Visible = False
 
    ' on affecte les variables d'environements d'excel
    Set wbExcel = appExcel.ActiveWorkbook
    Set wsExcel = wbExcel.ActiveSheet
 
   ***********CODE******
 
    For i = 0 To (nbrFichier - 1) Step 1
        'Ouverture d 'un fichier texte d'OF avec Excel
        appExcel.Workbooks.OpenText FileName:=LireINI("G150", "PathOF") + listFichiers(i), Origin:=xlWindows, _
            StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _
            ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(1, 1), TrailingMinusNumbers:=True
 
        ' on affecte les variables d'environnement
        Set wbExcel2 = appExcel.ActiveWorkbook
        Set wsExcel2 = wbExcel2.ActiveSheet
 
        *******CODE*******
        ' on ferme le fichier d'OF en cours
        wbExcel2.Close
        Set wsExcel2 = Nothing
        Set wbExcel2 = Nothing
    Next i            
 
    ' on sauvegarde le fichier texte final en fermant Excel
    wbExcel.Close True
    Set wsExcel = Nothing
    Set wbExcel = Nothing
    DoEvents
    appExcel.Quit
    Set appExcel = Nothing
 
   **********CODE**************
Si quelqu'un a une idée svp

Merci bien