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

Macros et VBA Excel Discussion :

Processus Excel.exe qui reste actif


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 15
    Par défaut Processus Excel.exe qui reste actif
    Bonjour,

    Je me connecte à une base de données HF C/S à partir d'Excel. Je lis simplement le contenu du recordset dont les données proviennent d'une simple requête. Tout fonctionne bien mais quand je quitte Excel, le processus Excel.exe reste actif.
    Beaucoup dise de tuer le processus mais comment tuer le processus Excel quand on est dans Excel...?
    Quelqu'un a-t-il déjà rencontré ce problème?

    Merci d'avance

    Voici ce que je fais :

    Dans déclaration du module1, j’ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Public Connexion_A As New ADODB.Connection
    Public Recordset_A As New ADODB.Recordset
    Dans Workbook_Open, j’ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Connexion_A.Open "DRIVER={HyperFileSQL};ANA=D:\Mes Projets\Axx\Axx.wdd;Server Name=192.168.0.1;Server Port=4900;Database=Axx;UID=admin;PWDXX="
        Recordset_A.CursorLocation = adUseClient
        Recordset_A.ActiveConnection = Connexion_A
        Recordset_A.Source = "select * from Articles "
        Recordset_A.Open , , adOpenStatic, adLockOptimistic, adCmdText
    Copie du contenu du recordset dans une feuille …
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Recordset_A.Close
        Connexion_A.Close
        Set Recordset_A = Nothing
        Set Connexion_A = Nothing

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut,une méthode brutale qui ferme toutes les sessions ouvertes d'Excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Option Explicit
     
    Sub Kill()
    Dim RetVal As Long
        '   Parametres Taskkill
        '   http://technet.microsoft.com/en-us/library/bb491009.aspx
        RetVal = Shell("Taskkill /im Excel.exe /f", 0)
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 15
    Par défaut
    Salut,

    merci de ton aide mais c'est un peu trop radical car mes collègues travaillent beaucoup avec Excel et si ils perdent des informations parce qu'ils n'ont pas enregistrer leurs fichiers, je suis mort

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Salut,une méthode brutale qui ferme toutes les sessions ouvertes d'Excel
    Merci kiki29,

    cela fait longtemps que je cherche cette technique en version "courte".

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Re,il faut passer sans doute par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Declare Function GetCurrentProcessId Lib "kernel32" () As Long

  6. #6
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Citation Envoyé par Neowile Voir le message
    Tout fonctionne bien mais quand je quitte Excel, le processus Excel.exe reste actif.
    Tu quittes excel comment?

    PGZ

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 15
    Par défaut
    Simplement par le menu Fichier->Quitter

  8. #8
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Re,à tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
     
    Declare Function GetCurrentProcessId Lib "kernel32" () As Long
     
    Sub KillPID()
    Dim RetVal As Long
    Dim iPid As Long
     
        '   Parametres Taskkill
        '   http://technet.microsoft.com/en-us/library/bb491009.aspx
        iPid = GetCurrentProcessId
        RetVal = Shell("Taskkill /pid " & iPid & " /f", 0)
    End Sub
    Pour avoir un message de confirmation pour sauvegarde avant fermeture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub KillPID_Msg()
    Dim RetVal As Long
    Dim iPid As Long
     
        '   Parametres Taskkill
        '   http://technet.microsoft.com/en-us/library/bb491009.aspx
        iPid = GetCurrentProcessId
        RetVal = Shell("Taskkill /pid " & iPid)
     
    End Sub

  9. #9
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Kiki29,

    juste une remarque.

    Peut-être que l'utilisation du nom Kill devrait évitée vu la méthode du même nom.

    -----Edit---
    je vois que tu viens d'y penser. merci.

  10. #10
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Arff,pas fait de [F5], oui effectivement ,on ne sait jamais avec ce genre de voisinage de mots réservés

  11. #11
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Re,

    Citation Envoyé par Neowile Voir le message
    Simplement par le menu Fichier->Quitter
    Dans ton projet VBA, tu ne crées pas quelque part une application Excel?

    PGZ

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 15
    Par défaut
    Non j'ai vraiment rien comme code mise à part celui cité ci-dessus...
    Si je n'exécute pas ma macro contenant ADODB, mon fichier Excel se ferme normalement et le processus aussi.
    Le problème vient de ceci pour moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Recordset_A.Close
        Connexion_A.Close
        Set Recordset_A = Nothing
        Set Connexion_A = Nothing

  13. #13
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Re,

    Comme tu n'utilises pas de Command, cela me semble une façon très correcte de fermer le jeu d'enregistrements et la connection.

    Perso, j'utilise souvent ADODB et je n'ai jamais vu cela.

    Comme cela, en aveugle, je sèche.

    Saurais-tu faire un classeur simplifié avec le pb?

    PGZ

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. Processus Excel.exe qui reste actif
    Par siuol dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 18/04/2011, 19h26
  3. Réponses: 4
    Dernier message: 15/04/2011, 19h46
  4. Processus EXCEL;exe actif apres fermeture
    Par jamescook dans le forum C++Builder
    Réponses: 3
    Dernier message: 29/10/2007, 11h49
  5. [Access] Processus cmd.exe qui ne se ferment pas
    Par bitou_77 dans le forum Access
    Réponses: 2
    Dernier message: 30/08/2006, 18h55

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