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 [XL-2010]


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
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 66
    Par défaut Mise en page par macro
    Bonjour à tous,

    Je rencontre un petit problème avec ma macro me permettant de mettre toutes les colonnes sur une page pour l'impression.
    Je l'ai fais de façon à ce que cela s'applique à tous les onglets du classeur mais le problème est que le dernier onglet n'est pas affecté par la macro :/

    VOila la macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Private Sub CommandButton5_Click()
    Dim s As Worksheet
    For Each s In ActiveWorkbook.Sheets
        With s.PageSetup
            .PrintTitleRows = ""
            .PrintTitleColumns = ""
        'End With
        Application.PrintCommunication = True
    '    s.PageSetup.PrintArea = ""
        Application.PrintCommunication = False
        'With s.PageSetup
            .PrintHeadings = False
            .PrintGridlines = False
            .PrintComments = xlPrintNoComments
            .PrintQuality = 600
            .CenterHorizontally = False
            .CenterVertically = False
            .Orientation = xlPortrait
            .Draft = False
            .PaperSize = xlPaperLetter
            .FirstPageNumber = xlAutomatic
            .Order = xlDownThenOver
            .BlackAndWhite = False
            .Zoom = False
            .FitToPagesWide = 1
            .FitToPagesTall = 0
            .PrintErrors = xlPrintErrorsDisplayed
            .OddAndEvenPagesHeaderFooter = False
            .DifferentFirstPageHeaderFooter = False
            .ScaleWithDocHeaderFooter = True
            .AlignMarginsHeaderFooter = True
        End With
     
    Next
     
    End Sub

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Est-ce que tu as essayé de faire tourner ta macro en pas à pas pour voir si elle déclenche la boucle pour la dernière feuille ?

    Est-ce que tu as essayé de faire tourner la boucle sans son contenu ?
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Dim s As Worksheet
        For Each s In ActiveWorkbook.Sheets
          Debu.Print s.Name
        Next
    Est ce que tu as essayé de lancer ta macro sans la boucle For, en commençant par un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set s = Worsheets("MaFeuille")

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 66
    Par défaut
    Quant je fais pas à pas, il me dit qu'il faut un nombre entre 10 et 40 pour .FitToPagesWide = 1
    (ligne26) alors que normalement non, c'est pris à partir d'un registrement de macro ... bizarre

    J'ai fais la même macro pour changer les pieds de pages automatiquement et ça marche sur toutes les onglets ... :S

  4. #4
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 66
    Par défaut
    Bon j'ai résolu le problème. Cela venait que mes Applications.Printcommunication étaient dans le with ...

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

Discussions similaires

  1. [XL-2007] Mise en page par macro très lente
    Par mathspountz dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/01/2014, 11h13
  2. problème de mise en page avec macros
    Par gaihdriah dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/05/2009, 16h24
  3. Mise en page par DIV
    Par santaflam dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 10/04/2009, 17h37
  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