Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/06/2006, 17h02   #1
Invité de passage
 
Inscription : juin 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 6
Points : 0
Points : 0
Par défaut % de CPU utilisé par une application en VBA

Bonjour,

j'ai cherché de mon mieux plusieurs heures sur le forum et n'ai rien trouvé donc je me permet de poster cette question.
A partir d'un handle ou d'un process id, comme est il possible d'obtenir dans le CPU en % utilisé par une application?
Je suis sous VBA (Access ou Excel) et XP.

Merci d'avance,

Sébastien
Sebastien 6-24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2006, 17h12   #2
Inactif
 
Avatar de jmfmarques
 
Inscription : décembre 2005
Messages : 3 784
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 3 784
Points : 4 125
Points : 4 125
en mesurant avant et après puis en faisant la différence
http://vb.developpez.com/faq/?page=Systeme#ram
jmfmarques est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2006, 17h26   #3
Invité de passage
 
Inscription : juin 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 6
Points : 0
Points : 0
Merci, mais en utilisant cela j'ai des infos sur la mémoire, pas réellement sur le CPU n'est ce pas?

En fait l'idée est la suivante:
- je lance une tache gourmande en ressource dans une application
- pour déterminer quand cette tâche s'achève j'imagine de regarder l'utilisation du CU en % pendant une période disons de 5 secondes. Si celui ci est faible (<10%) alors la tache est finie et je peux passer à autre chose dans le code VBA

Merci encore,

Sébastien
Sebastien 6-24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2006, 19h06   #4
Membre expérimenté
 
Inscription : septembre 2005
Messages : 613
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 613
Points : 569
Points : 569
Envoyer un message via MSN à Vesta
Si tu teste sa consommation en RAM et fait une différence avant apres utilisation gourmante est inférieure a un seuil de tolérence, alors continuer...

Une application gourmande en CPU est normalemnt gourmante en RAM...
__________________
N'oubliez pas de mettre le
Vesta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2006, 12h30   #5
Invité de passage
 
Inscription : juin 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 6
Points : 0
Points : 0
Citation:
Envoyé par Vesta
Si tu teste sa consommation en RAM et fait une différence avant apres utilisation gourmante est inférieure a un seuil de tolérence, alors continuer...

Une application gourmande en CPU est normalemnt gourmante en RAM...

Je tente ça de ce pas, merci beaucoup.

Sébastien
Sebastien 6-24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2006, 12h39   #6
Invité de passage
 
Inscription : juin 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 6
Points : 0
Points : 0
Bon...

je viens de tester. Autant on voit bien quand l'application se met à travailler, (400 Mo de mémoire utilisée) autant quand elle a finit sa tache, le niveau de mémoire utitlisée ne baisse pas et reste toujours au même niveau (400 Mo).
Par contre j'ai bien une variation forte de l'utilisation du CPU. C'est pour cette raison que j'essaie de creuser cette piste.

Toutes les idées sont les très bienvenues.

Merci encore,


Sébastien
Sebastien 6-24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2006, 13h43   #7
Inactif
 
Avatar de jmfmarques
 
Inscription : décembre 2005
Messages : 3 784
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 3 784
Points : 4 125
Points : 4 125
tout donne dans ce cas à penser que tu es passé dans la "zone de swap"... ce que tu ne pourras à mon sens jamais mesurer avec efficacité.
Je jurerais presque que tu constates une certaine lenteur inhabituelle de ta machine...
jmfmarques est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 14h43   #8
Membre régulier
 
Avatar de zebulon2212
 
Inscription : juin 2006
Messages : 77
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : juin 2006
Messages : 77
Points : 80
Points : 80
quel est cette tache ?
si c'est toi qui l'a créer pourkoi ne pas lui faire renvoyer 'vrai' lorsqu'elle a finit de s'executer ?
zebulon2212 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 14h59   #9
Invité de passage
 
Inscription : juin 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 6
Points : 0
Points : 0
Bonjour,

cette tache c'est une appli qui se lance depuis un menu de Mappoint (une espèce de "brique" en plus en somme). C'est un optimisateur de tournées qui se base sur des "pushpins" de mappoint. Elle n'a pas été écrite par moi.

J'arrive à la lancer et à la controler en faisant quelques "Senkeys" en VBA, tout va bien. La seule chose c'est qu'une tournée étant plus ou moins compliquée, l'application met plus ou moins de temps à s'éxécuter. Ayant besoin de ses résultats pour ensuite poursuivre ma macro c'est pour cela que j'étais intéressé à comprendre si elle tournait encore ou non (en % de CPU).

Voilà

Merci
Sebastien 6-24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 15h11   #10
Inactif
 
Avatar de jmfmarques
 
Inscription : décembre 2005
Messages : 3 784
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 3 784
Points : 4 125
Points : 4 125
Citation:
j'étais intéressé à comprendre si elle tournait encore ou non (en % de CPU).
Il me semble qu'il y a des méthodes plus orthodoxes, non, pour savoir si une application "tourne"...
Un petit tour par la FAQ, puis reviens si tu n'as vraiment pas trouvé !
jmfmarques est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 16h03   #11
Invité de passage
 
Inscription : juin 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 6
Points : 0
Points : 0
J'y vais de ce pas. Par contre je tiens à dire que l'application ne "quitte" pas quand elle a finit et qu'elle n'envoie pas de Msgbox. Elle cesse de mouliner c'est tout.

Merci encore,

Sébastien
Sebastien 6-24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 16h17   #12
Inactif
 
Avatar de jmfmarques
 
Inscription : décembre 2005
Messages : 3 784
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 3 784
Points : 4 125
Points : 4 125
Citation:
je tiens à dire que l'application ne "quitte" pas quand elle a finit et qu'elle n'envoie pas de Msgbox
Bien...(je comprends ta difficulté)
Ce que je ferais dans ce cas à ta place :
1) j'ouvrirais le gestionnaire de tâches et listerais soigneusement les processus (pas les applis, mais les processus)
2) je lancerais l'appli en cause et regarderais immédiatement (et les listerais) le nouveaux processus ouverts
3) j'attendrais le temps qu'il faut (longtemps au besoin) pour lister cette fois-ci les processus qui, présents à son lancement, ne le sont plus à la fin, alors que, pourtant toujours ouverte, elle n'effectue plus aucune tâche

Une fois "isolés" et "identifiés" ces processus "d'action", je me la jouerais belle avec eux... Je pourrais te passer un code VB pour lister tous les processus (pas seulement les applis en cours).... en disant :
- si l'appli est là mais que tel ou tel autre processus n'est plus utilisé, ma foi, ... je ferme l'appli...
Cela me parait plus rationnel qu'une "analyse du CPU"...
Réfléchis-y et dis...

Inutile de préciser que lors de mes tests 1 2 et 3, je m'abstiendrais de lancer quelque autre opération que ce fût... hein ?
jmfmarques est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h18.


 
 
 
 
Partenaires

Hébergement Web