IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] Terminer Processus Excel


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 50
    Par défaut [VB6] Terminer Processus Excel
    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

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    pourquoi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        *******CODE*******
            ' on ferme le fichier d'OF en cours
            wbExcel2.Close
            Set wbExcel = Nothing ' ==>> ??? C'est pas en trop ?
            Set wbExcel2 = Nothing
        Next i

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 50
    Par défaut
    Citation Envoyé par bbil
    pourquoi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        *******CODE*******
            ' on ferme le fichier d'OF en cours
            wbExcel2.Close
                   Set wbExcel = Nothing ' ==>> ??? C'est pas en trop ? si
            Set wsExcel2 = Nothing
             Set wbExcel2 = Nothing
        Next i
    A oui désolé, j'ai réédité le post...
    J'ai réessaiyé mais rien... tj ExceL.exe.

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    essai de voir ce que renvoi ce msgbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    (...)
    DoEvents
    MsgBox appexcel.workbooks.count
    appExcel.Quit(...)
    histoire de voir s'il ne reste pas de classeur ouvert...

  5. #5
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 50
    Par défaut
    Bonne idée
    voila le résultat


  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    et si tu rajoute appexcel devant Workbooks...?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     'Ouverture d'Excel
        Set appExcel = CreateObject("Excel.Application")
        
        'Ouverture du fichier texte dans Excel
        appExcel.Workbooks.OpenText FileName:=LireINI("G150", "PathOut") + "G150.txt", Origin:=xlWindows, _
            StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlNone, _

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Application Excel - Tuer le processus EXCEL.EXE?
    Par xVINCEx dans le forum VB.NET
    Réponses: 21
    Dernier message: 18/04/2012, 10h43
  2. Terminer un processus Excel
    Par NeMo_O dans le forum MATLAB
    Réponses: 3
    Dernier message: 04/09/2008, 09h00
  3. VB6: tuer le processus Excel
    Par Svart26 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/07/2006, 08h02
  4. processus excel
    Par CharleLéo dans le forum Langage
    Réponses: 4
    Dernier message: 25/10/2005, 11h49
  5. [VB6][Tendance d'Excel] Calcul des constantes de l'equation
    Par ludotek dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/08/2005, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo