Page 1 sur 1

[Résolu][Calc] Rafraîchir écran : équivalent ScreenUpdating

Publié : 28 juin 2006 16:18
par Péna
bonjour tout le monde! :D

petite info:

depuis longtemps je cherche comment traduire :

Code : Tout sélectionner

Application.ScreenUpdating = False
Vu le nombre de questions sur ce sujet, j'ai pensé sympa de mettre un post la dessus car en me rendant sur le forum anglais de OOo, j'ai trouvé une traduction, certe discutable mais qui marche pour certains cas...

ms777 propose pour pallier au problème de rafraichissement d'écran (et donc à la vitesse d'exécution de la macro) d'utiliser les lignes suivantes:

Code : Tout sélectionner

sub setACC(OnOff as boolean) 
   ThisComponent.enableAutomaticCalculation(OnOff) 
end sub 

sub ScreenUpdatingOn 
   ThisComponent.UnlockControllers 
   ThisComponent.removeActionLock 
end sub 

sub ScreenUpdatingOff 
   ThisComponent.addActionLock 
   ThisComponent.LockControllers 
end sub 

Malheureusement, jcdavid prévient que "LockControllers"n'est pas la traduction exacte de "screenupdating", et que par conséquent, cela peut poser problème. En fait, "LockController" ne fait pas qu'empécher le raffraichissement de l'écran, mais bloque aussi certaines fonctions comme "GotoEndOfUsedArea". En fait dans le lien qu'il fournit pour se justifier, il y a une très simple explication à ce phénomène (donnée par Cybb20) :

Si on utilise dans la macro des instructions telles que viewcursor (ou tout autre fonction qui dépend de la vue du document) LockController les empêchera de bien fonctionner. En fait, elle fonctionneront, mais pas sur la page prévue puisque celle-ci ne sera pas affichée. Elles fonctionneront sur la page qui était visible lorsque l'on a utilisé LockController. Il s'agit d'une méthode qui est très efficace du moment que l'on n'utilise rien qui dépende de la vue en cours.

moralité : LockController est un outils très efficace, peut-être trop...

voici le lien:

http://www.oooforum.org/forum/viewtopic ... enupdating

vOOoila vOOoila
en espérant que cela serve à quelqu'un...
bye

PS1 : veuillez m'excuser si il y a des petites erreurs de traductions, je ne suis pas bilingue, héhé, et si par ailleurs, quelqu'un s'aperçoit que j'ai commis une grossière erreur de traduction, libre à lui de corriger ma traduction :wink: merci

PS2 : je n'ai traduis que les lignes importantes de ce lien, je n'ai pas cherché à traduire tous les liens.... mais si quelqu'un veut une explication sur l'un des liens présents dans ce lien, je me ferai une joie d'y répondre :) . Ou tout simplement, si je n'ai pas été clair, lol

Publié : 28 juin 2006 17:52
par Péna
je viens d'essayer cette solution, à savoir:

Code : Tout sélectionner

DocNewFile.addActionLock 
DocNewFile.LockControllers
je n'ai eu aucun problème lors de l'exécution, et j'ai constaté une nette amélioration du temps d'exécution. La macro que j'ai lancé est très conséquente et donc permet d'avoir un bon ordre d'idée.

Je précise que la version utilisée de OOo est la 2.02.

J'ai lancé ma macro sur 2 ordi différents:
- Ordi 1 : Dell Inspiron XPS Gen2, Pentium M 2.13GHz, 1Go de Ram
- Ordi 2 : P4 2.4 GHz, 768Mo de Ram

les résultats sont hallucinants!

Résultats sous OOo:

Sur l'Ordi 1: avec la solution précédente: 16 sec (en moyenne)
sans la solution précédente: 43 sec (en moyenne)

Sur l'ordi 2: avec la solution précédente: 46 sec (en moyenne)
sans la solution précédente: 1min13sec (en moyenne) :shock:

Résultats sous Excel:

Sur l'Ordi 1: avec screenupdating: 3 sec (en moyenne)
sans screenupdating: 6 sec (en moyenne)

Sur l'ordi 2: avec la solution précédente: 3 sec (en moyenne)
sans la solution précédente: 9sec (en moyenne)

voila!
c'était juste à titre d'indication. Bon certes on s'en doutait un peu, m'enfin.... ça peut être intéressant.


vOOoila vOOoila

à plus

Re: [Calc] Rafraichissement écran : équivalent de ScreenUpda

Publié : 25 oct. 2013 16:01
par Churay
Bonjour

Sur l'utilisation de lockControllers, il peut être instructif de lire Pys (Pierre-Yves Samyn) ici http://forum.openoffice.org/fr/forum/vi ... Controller

Re: [Calc] Rafraichissement écran : équivalent de ScreenUpda

Publié : 25 oct. 2013 16:05
par Wayra
Sujet déplace : que faisait-il dans les Suprêmes ?