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.NET Discussion :

Fermeture d'excel incorrect


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut Fermeture d'excel incorrect
    Bonjour,

    Dans le développement de mon application je manipule un dossier Excel à partie d'un Sub ... End Sub dont je fait l'appel par la bar de menu, au debut de mon Sub je fait l'ouverture d'excel et tout va bien, à la fin je libère la mémoire et tout semble bien se dérouler.

    Mais, dans le processus de mon gerstionnaire de tâches mon excel reste ouvert tant que je n'ai pas arreté mon programme ce qui me cause des problèmes lors d'une ouverture par double clic sur le dossier.

    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
    Sub rechercheInfo()
     
            'Ouverture d'excel
            '______________________________________________________
            Dim appExcel As Excel.Application
            Dim WbExcel As Excel.Workbook
            Dim WsExcel As Excel.Worksheet
            appExcel = CreateObject("Excel.Application")
     
    ---Traitement---
     
            WbExcel.Close()
            appExcel.Quit()
            appExcel = Nothing
            WbExcel = Nothing
            WsExcel = Nothing
     
        End Sub
    Merci
    Mario

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    hello,
    va voir cette discution :
    http://www.developpez.net/forums/d65...sus-excel-exe/
    Elle te donnera la réponse

    P.S. : Lis bien toute la conversation !!!

  3. #3
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Cette problématique est maintenant traitée dans la FAQ C# : Comment libérer les ressources d'une automation Office ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut C'est bizzard ce qui arrive ??
    Depuis quelques jours je travail et fouille sur internet, pour trouver une bonne façon de fermer l'application correctement et voyez ce qui m'arrive.

    Je me suis fait le code suivant qui fonctionne très bien

    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
    Private Sub OuvrirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OuvrirToolStripMenuItem.Click
            Dim xlApp As Excel.Application
            Dim xlWorkbook As Excel.Workbook
            Dim xlWorksheet As Excel.Worksheet
     
            xlApp = New Excel.Application
            xlWorkbook = xlApp.Workbooks.Open("C:\Users\Mario\Documents\VBA\Excel\Bonjour.xls")
            xlWorksheet = CType(xlApp.Worksheets("Feuil1"), Worksheet)
            xlWorksheet.Cells(2, 2) = Now
            xlWorkbook.Save()
            MessageBox.Show("Cells2")
            xlWorkbook.Close()
            xlApp.Quit()
            ReleaseObjet(xlApp)
            ReleaseObjet(xlWorkbook)
            ReleaseObjet(xlWorksheet)
        End Sub
     
    Private Sub ReleaseObjet(ByVal Obj As Object)
            Try
                System.Runtime.InteropServices.Marshal.ReleaseComObject(Obj)
                Obj = Nothing
     
            Catch ex As Exception
                Obj = Nothing
            Finally
                GC.Collect()
            End Try
        End Sub
    et mon excel dans le processus disparait chaque fois. Mais, si j'essai d'ouvrir ma page excel à l'écran juste avant mon messagebox puis je le fait disparaitre juste après , Excel reste dans mon processus.

    j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlWorksheet.Application.Visible = True
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    xlWorksheet.Application.Visible = True
            MessageBox.Show("Cells2")
            xlWorksheet.Application.Visible = False
    quelqu'un sait pk?
    merci

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut Hiiiiiiiaouuuuu
    j'ai reussi

    ce que j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ...
    xlWorksheet.Application.Visible = True
            MessageBox.Show("Cells2")
            xlWorksheet.Application.Visible = False
            xlWorkbook.Close()
            xlApp.Quit()
            xlApp = Nothing
            xlWorkbook = Nothing
            xlWorksheet = Nothing
            ReleaseObjet(xlApp)
            ReleaseObjet(xlWorkbook)
            ReleaseObjet(xlWorksheet)
    Dite moi si c'est correct svp

  6. #6
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Par défaut
    Citation Envoyé par Mario Rousson Voir le message
    Depuis quelques jours je travail et fouille sur internet, pour trouver une bonne façon de fermer l'application correctement et voyez ce qui m'arrive.
    As-tu au moins jeté un coup d'oeil au lien que je t'ai proposé ?

    Citation Envoyé par Mario Rousson Voir le message
    Dites-moi si c'est correct svp
    Si cela fonctionne, alors c'est correct !
    Plus sérieusement, cela fonctionne avec ton code actuel, mais si tu rajoutes des traitements Excel supplémentaires, peut-être que cela ne fonctionnera plus (par exemple si tu travailles avec d'autres objets. Range, par exemple).
    A ce moment-là, tu seras amené à utiliser la seule méthode fiable, comme indiqué dans la FAQ.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    Salut Skalp comme tu dit, en effet dans mon code principale ça ne fonctionne plus.

    oui j'ai regarder le lien envoyer et je vais continuer à travailler la dessus

    merci

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/04/2006, 14h54
  2. [VBA-E]Fermeture Application Excel
    Par malloc_92 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/04/2006, 11h46
  3. [Automation Excel] fermeture d'excel depuis ACCESS
    Par GESCOM2000 dans le forum Access
    Réponses: 3
    Dernier message: 07/01/2006, 19h29
  4. probleme de fermeture d'excel
    Par passie dans le forum Access
    Réponses: 2
    Dernier message: 08/11/2005, 19h34
  5. Fermeture Fichier Excel
    Par beurnoir dans le forum Access
    Réponses: 22
    Dernier message: 28/10/2005, 16h22

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