frawid
Messages postés47Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention16 mars 2008
-
3 févr. 2008 à 22:52
frawid
Messages postés47Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention16 mars 2008
-
16 mars 2008 à 23:19
Bonsoir, en VBA avec Excel j'ai un bouton pour éliminer (cacher) des lignes dans un formulaire. Après avoir imprimé ce formulaire (Application.Dialogs(xlDialogPrint).Show) je click sur ce même bouton pour éliminer (cacher) d'autres lignes et ça prend un temps fou, pourqoi ? Exemple: un For/Next avec 1500 lignes dont 100 cahchées prend env. 2 secondes et après l'impression celà prend 1 à 2 minutes)
Il doit y avoir une solution a ce problème.
Merci de votre aide
Francis
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 4 févr. 2008 à 01:10
Salut
Et si tu fais les manips à la main, est-ce que tu as le même phénomène ?
Histoire de savoir si c'est un problème de programmation ou une réaction du système.
Essaye d'ouvrir le gestionnaire des tâches pendant que tu exécutes ton programme : Surveille l'activité système et la taille mémoire utilisée.
Est-ce dû à l'impression ? Fait l'essai de mettre en commentaire l'instruction d'impression et exécute ton programme
Si le problème persiste, ça vient du programme, sinon, de l'impression
Est-ce, pendant les 1 à 2 minutes, le système fige ?
de quelle manière :
-1- Complètement :
- uniquement ton application : Vérifie si tu as une boucle sans fin + Ajoute systématiquement un DoEvents dans tes boubles For-Next ou Do-Loop
- tout le système, au point de ne même pas rafraichir le gestionnaire des tâches : un problème matériel (mémoire)
-2- Ralenti fortement : Oriente toi vers un problème système
Quel OS ? XP ? SP2 ?
Peut-être un problème avec le driver de l'imprimante - Vérifie que ton driver est bien le dernier valide pour ton système (SP2 a souvent obligé les fournisseurs à pondre de nouvelles versions)
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
frawid
Messages postés47Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention16 mars 2008 16 mars 2008 à 23:19
Salut Jack
Merci pour ta réponse rapide que je n'avais pas fais attention de lire à la réception.
Pour te répondre c'est un XP/SP2 avec Excel 2003. Le système ne se fige pas, il n'y à que le programme Excel qui travaille/qui rame... et le gestionnaire des tâches /Util. de l'UC monte pendant tout ce temps à 53%. Au chargement du fichier il monte une à deux secondes à 89% et redescend à 2-3% voir à 0%
Suite à ton information concernant le DoEvents, je l'ai placé dans une routine que le prog. utilise toujours et celà fonctionne à merveille.
Merci pour ton aide précieuse et désolé de n'avoir pas répondu avant.