IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Mise en page par macro très lente [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Par défaut Mise en page par macro très lente
    Bonjour à tous,

    J'ai fait quelques tests sur un de mes scripts qui mettait plus de 30 secondes à s'exécuter. Pour voir d'où venait le problème j'ai chronométré le script en enlevant certaines opérations à chaque fois. Apparemment, les lignes de mise en page sont responsables de 75% du temps d'exécution du script. Il passe à moins de 7 secondes si je supprime les lignes .PageSetup.Orientation et .PageSetup.PrintArea (il y a parfois 100 pages à traiter).

    Ma question : avez-vous des astuces effectuer les taches de .PageSetup.Orientation et .PageSetup.PrintArea d'une manière plus rapide.

    J'ai peut-être trouvé lors de mes recherches un premier élément de réponse : Apparemment ces deux fontions doivent communiquer avec le pilote de l'imprimante, ce qui ralenti le script.
    Si cela est vrai, Comment l'éviter ?

    Merci à ceux qui auront le courage de tout lire.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Hello,

    la piste la plus souvent recommandée pour la mise en page est d'utiliser les macros XL4

    http://www.developpez.net/forums/d13...cution-longue/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Par défaut
    Merci pour la piste, mais je n'arrive pas à la mettre en pratique...
    Si j'essaie simplement de mettre ma mise en page en mode paysage sur la sélection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sub test()
    ThisWorkbook.ActiveSheet.Range("A1:E6").Select
    Application.ExecuteExcel4Macro "PAGE.SETUP(,,,,,,,,,,Landscape,,,,,,,,,,)"
    End Sub
    Ca passe sans erreur, mais quand je fais "aperçu avant impression", la mise en page est toujours en mode portrait...
    J'ai essayé également avec xlLandscape mais rien... Y a-t-il quelquechose que je ne saisie pas ?

    J'ai trouvé les infos sur les arguments ici : http://www.mrexcel.com/forum/excel-q...age-setup.html

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Mise en page par macro
    Par Blaiz58 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/07/2014, 18h04
  2. [XL-2010] Macro très lente quand mise en page/formules
    Par Ephysio dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/11/2013, 13h43
  3. Sélection d'une plage de dates par macro très lente
    Par yvesduc dans le forum QlikView
    Réponses: 1
    Dernier message: 11/03/2010, 15h48
  4. [EXCEL 2003] TCD - mise en forme par macro après rafraîchissement
    Par paul42 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/11/2007, 03h21
  5. Mise en page par DIV
    Par Clorish dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 15/06/2007, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo