VBA comment optimiser l'utilisation CPU dans un loop? [Résolu] - VB/VBA/VBS - Programmation
Marsh Posté le 06-07-2009 à 14:46:02
Tu peux définir la priorité dans le gestionnaire des taches pour le processus mais je sais pas si ça te convient.
Marsh Posté le 06-07-2009 à 15:30:25
Deamon a écrit : Tu peux définir la priorité dans le gestionnaire des taches pour le processus mais je sais pas si ça te convient. |
Idéalement, ce que je recherche c'est remplacer la ligne 7 du code ci-dessus par une ligne de code qui consomme moins de CPU.
Marsh Posté le 06-07-2009 à 15:36:46
ReplyMarsh Posté le 06-07-2009 à 16:16:10
Deamon a écrit : En gros avec ton code tu veux réaliser une action à intervalle régulier ? |
Tout à fait, et pendant l'attente ne pas consommer autant de CPU...
Marsh Posté le 06-07-2009 à 16:46:41
ReplyMarsh Posté le 07-07-2009 à 15:53:10
Merci pour ta réponse bjone. Effectivement avec le code suivant, l'utilisation CPU reste à 2% mais on ne peut pas quitter la fonction sleep en cours d'exécution sauf par exemple en utilisant Ctrl + Pause.
Code :
|
Marsh Posté le 07-07-2009 à 16:07:46
tu sleep de 100 ou 50 ms ça suffira pour réduire drastiquement l'utilisation cpu, à toi d'ajuster le contrôle de boucle en conséquence.
Marsh Posté le 07-07-2009 à 22:09:56
et un petit coup de DoEvents ça fera pas de mal
Marsh Posté le 06-07-2009 à 14:35:38
Bonjour,
Voici une partie du code que j'utilise dans un ficher MS-Excel 2003. Dès que la procédure est lancée, le gestionnaire des tâches (sous windows XP) m'indique que l'utilisation CPU passe de 2% à 26% environ. Y-a-t-il un moyen pour réduire l'utilisation CPU? Merci pour vos suggestions.
Message édité par bigbang01 le 07-07-2009 à 16:52:11