La mise en page d'une feuille par VBA est très lente
Bonjour,
J'ai enregistré une macro pour formater la mise en page d'un certain nombre de feuilles, et Excel met relativement beaucoup de temps pour cette opération et la feuille "clignote" ±20 fois pendant cette mise en page.
Je suis sûr qu'il y a moyen de simplifier et d'accélérer le code, mais je ne sais pas comment.
Re : La mise en page par VBA d'une feuille est très lent
Bonjour à tous,
D'accord avec skoobi et piga25, mais même avec Screenupdating = False, ces commandes prendront du temps. J'ai déja observé ça chez moi, mais aucune idée du pourquoi de la chose...
Re : La mise en page par VBA d'une feuille est très lent
Bonjour,
Merci pour ces réponses rapides et les tuyaux concordants!
Ce que je dois ajouter: j'exécute 10 fois le même code, avec chaque fois une autre personne; normalement il faudrait un truc comme For Nom1 à Nom10 et il faut seulement 1 fois le code; mais est-ce que cela accélère les opérations.
En ce moment, lorsque j'exécute mon code, il a tout d'un coup (jusqu'ici il ne l'avait pas!) un problème avec ".PrintQuality = 600"!
Quelle peut en être la raison et quel peut en être le remède?
Précision: mon imprimante (HP CP3505) dispose bien de cette qualité.
Re : La mise en page par VBA d'une feuille est très lent
Re
petite précision, il ne me semble pas que dans ce cas empêcher le rafraichissement d'écran gagne du temps, il semble que la cause soit l'appel répété du pilote de l'imprimante, et ce pour chaque instructions à l'intérieur du bloc "With ActiveSheet.PageSetup"...
Re : La mise en page par VBA d'une feuille est très lent
Salut, via le lien donné par Pierrot, soit par exemple
Mise en page centrée en paysage sur du A4 sans entête ni pied de page
Code:
Private Sub Mep()
ActiveSheet.PageSetup.PrintArea = "$A$1:$J$41"
Application.ExecuteExcel4Macro "PAGE.SETUP(,,0.3937,0.3937,0.3937,0.3937,,,TRUE,TRUE,2,9,,,,,,,,FALSE,FALSE)"
End Sub
Re : La mise en page par VBA d'une feuille est très lent
merci beaucoup
je vais l'essayer demain matin
en y réfléchissant bien, c'est quand-même malheureux, et pas à la gloire de ms, qu'il faut sortir des oubliettes une vieille version de excel parce qu'elle fait mieux les choses que les actuelles!