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] Fermeture Excel


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut [VB6] Fermeture Excel
    Bonjour,

    je rencontre un problème déjà abordé sur le forum mais je ne trouve pas de solution (posts supprimés) :
    quand je ferme mon fichier excel, le processus excel.exe tourne toujours...


    voici l'ouverture de mon fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim XL As Excel.Application
    Dim WB As Excel.Workbook
    Dim WS As Excel.Worksheet
     
    Set XL = New Excel.Application
    XL.Visible = False
     
     
    Set WB = XL.Workbooks.Open(App.Path & "\MonFichier.XLS")
    Set WS = WB.Worksheets("MAFEUILLE")
    et la femeture :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    WB.Close False
    Set WS = Nothing
    Set WB = Nothing
     
     
    XL.Quit
    Set XL = Nothing

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    S'il n'y a pas de gestion d'erreur efficace dans ton code et de fait, si erreur il y a, tu ne peux pas l'intercepter car en OLE Automation, c'est plus difficile.
    Pose quelques mouchards comme des Debug.Print pour voir s'il va bien jusqu'au bout de la procédure...

    Un simple et dangereux mal placé peut expliquer ce comportement.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    je n'ai pas de gestion d'erreur actuellement, pas de resume next....
    et je vais bien jusqu'au bout de ma procédure.....

  4. #4
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    et entre les 2 codes ... tu n'ouvre pas d'autre classeur excel ?

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    non, aucun autre classeur n'est ouvert...

    En ne faisant quouvrir le classeur et en le refermant, le proccessexcel.exe reste quand même (malgré le .quit)

  6. #6
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    Peut-on voir où exactement tes lignes de code sont insérée, dans quelles procédures?

    Tes variables XL, WB et WS sont-elles déclarées globales?

  7. #7
    Candidat au Club
    Inscrit en
    Juin 2005
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Tout le code du 1er post est dans 1 sub

    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
     
    Private Sub Excel()
     
    Dim XL As Excel.Application 
    Dim WB As Excel.Workbook 
    Dim WS As Excel.Worksheet 
     
    Set XL = New Excel.Application 
    XL.Visible = False 
     
     
    Set WB = XL.Workbooks.Open(App.Path & "\MonFichier.XLS") 
    Set WS = WB.Worksheets("MAFEUILLE") 
     
     
    WB.Close False 
    Set WS = Nothing 
    Set WB = Nothing 
     
     
    XL.Quit 
    Set XL = Nothing
     
    End Sub
    J'ouvre, je ferme et excel.exe reste...


    ce problème a déjà été abordé dans plusieurs posts dont celui-ci
    http://www.developpez.net/forums/viewtopic.php?t=416838

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    XL.Quit
    Set XL = Nothing
    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    WB.Close False 
    Set WS = Nothing 
    Set WB = Nothing
     
    Doevents  'Est censé laisser au système le temps de fermer le fichier (???)
    With XL
         .Quit
    End With
    Set XL = Nothing 'je suis dubitatif quant à l'utilité "ici" de la dernière ligne...
    A+

  9. #9
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Hummm...
    Le code de MonsieurPaul est correct.
    Il faudrait que nous voyons ce dernier complet car si le thread Excel persiste, c'est qu'il y a quelque chose qui empêche de fermer.
    Du fait que MonsieurPaul mette en , il ne peut pas voir ce qui se passe... Par exemple, s'il y a un message de confirmation ou quelque chose de similaire qui empêcherait Excel de se fermer.

    Donc... MonsieurPaul, à vous

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  10. #10
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    pour info meme avec XL.visible=False les message d'erreur au de confirmation excel apparaisse a l'ecran donc cela ne vient pas de ça.

    monsieur paul as tu derouler ton programme en mode pas à pas pour bien verififier la desallocation memoire de excel?

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    car si le thread Excel persiste, c'est qu'il y a quelque chose qui empêche de fermer
    Effectivement, et pour voir un message éventuel, peut-être serait-il utile de fermer le classeur, je ne vois pas de VB.close false

    A +

    J'ai rien dit

  12. #12
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    un petit ne suffirait'il pas????

  13. #13
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par calimero91
    un petit ne suffirait'il pas????
    Hummm... Unload Me est réservé aux UserForms !!!

    Citation Envoyé par ouskel'n'or
    Effectivement, et pour voir un message éventuel, peut-être serait-il utile de fermer le classeur, je ne vois pas de VB.close false
    WB.close False est bien présent dans son code

    Je pense qu'il serait judicieux d'attendre l'intervention du posteur !!!

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  14. #14
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    J'avale mon second café et les gars veinnent de partir pour l'école... C'est beau le décallage...

    J'ai essayé le même code en séparant la déclaration de variables, l'ouverture et la fermeture d'excel... et pas de problèmes...

    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
    Option Explicit
    Dim XL As Excel.Application
    Dim WB As Excel.Workbook
    Dim WS As Excel.Worksheet
     
    Private Sub cmdQuitter_Click()
    'fermeture
    WB.Close False
    Set WS = Nothing
    Set WB = Nothing
    'quitter
    XL.Quit
    Set XL = Nothing
    End
    End Sub
     
    Private Sub Form_Load()
    Set XL = New Excel.Application
    XL.Visible = False
    Set WB = XL.Workbooks.Open(App.Path & "\MonFichier.XLS")
    Set WS = WB.Worksheets("MAFEUILLE")
    End Sub
    Mais j'avoue n'y rien comprendre!

  15. #15
    Membre régulier Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Points : 106
    Points
    106
    Par défaut
    apres verification le
    fonctionne tres bien chez moi.

Discussions similaires

  1. Fermeture Excel fichier sur serveur [VB6]
    Par ellimac60 dans le forum Excel
    Réponses: 2
    Dernier message: 19/07/2013, 10h00
  2. Fermeture excel sous VB6
    Par wa7ch3000 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 27/05/2010, 18h13
  3. vb6 fermeture d'excel
    Par maxtin dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/12/2006, 17h20
  4. [VB6]:fermeture d'une fenêtre excel automatiquement d'après vb
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 24
    Dernier message: 24/07/2006, 11h45
  5. [VB6] Fichier excel en lecture seul et détection fermeture
    Par belfaigore dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 17/05/2006, 11h48

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