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 :

Acces a Windows Task Manager


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Par défaut Acces a Windows Task Manager
    Bonjour,

    J'aimerai pouvoir connaitre la RAM utilisée par mon programme.
    Alors je me posais la question suivante :
    Peux ton avoir acces a la fenetre "Windows Task Manager" par VBA?
    Si oui grace a quelle librairie?
    (j'ai regardé dans le windows script host object, en vain!)

  2. #2
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Salut,

    Il existe une propriete dans excel pour cela (Application.MemoryUsed)

    Mais en testant je me suis apercu que j'avais un resultat different de la valeur dans le gestionnaire de tache.

    Avec un autre test directement sur le service j'obtiens le bon resultat (enfin c'est coherent avec le gestionnaire)

    Cet exemple te donne la memoire utilisee (celle du gestionnaire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub MemoireUtilisee()
        Dim svc As Object
        Dim sQuery As String
        Dim oproc
     
        Set svc = GetObject("winmgmts:root\cimv2")
        sQuery = "select * from win32_process where name='Excel.exe'"
        For Each oproc In svc.execquery(sQuery)
            MsgBox oproc.Properties_("WorkingSetSize")
        Next
        Set svc = Nothing
    End Sub

  3. #3
    Membre éclairé
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Par défaut
    merci beaucoup pour ta réponse.
    Effectivement le code que tu me fournis fonctionne a merveille. Seulement deux questions :
    • As tu plus d'information a propos de la requete que tu me fournis? J'aimerai comprendre comment tu la construis,les champs que tu peux cibler etc...

    • Quelle est la librairie (ou référence) rattachée a cet objet : "winmgmts:root\cimv2" ?

    Sinon chez moi la propriété MemoryUsed n'existe pas...

  4. #4
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Salut,

    MemoryUsed n'est peut etre plus dans XL2007 (je suis sous 2003).

    Sinon tu trouveras toutes les infos dans le MSDN ici et ici

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/02/2008, 22h47
  2. Changer l'emplacement de Windows Boot Manager
    Par waane dans le forum Windows Vista
    Réponses: 5
    Dernier message: 30/10/2007, 13h54
  3. Problème acces disque windows sous linux
    Par stan314 dans le forum Mandriva / Mageia
    Réponses: 15
    Dernier message: 27/08/2006, 19h52
  4. Problème de concurrence d'accès sous Windows
    Par DJZiaK dans le forum SQLite
    Réponses: 6
    Dernier message: 10/05/2005, 17h21

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