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

Contribuez Discussion :

Mise en page avec les macros XL4 -


Sujet :

Contribuez

  1. #1
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut Mise en page avec les macros XL4 -
    Bonjour à tous, je viens de retrouver le fichier d'aide pour les macro Excel4.
    Je me permets de joindre une copie du fichier pour la mise en page qui est beaucoup plus rapide qu'avec l'éditeur VB.

    Equivaut à choisir, dans le menu Fichier, la commande Mise en page. Utilisez MISE.EN.PAGE pour contrôler l'aspect de vos feuilles imprimées.
    MISE.EN.PAGE possède trois formes de syntaxe. La syntaxe 1 est utilisée lorsqu'une feuille ou une feuille macro est active ; la syntaxe 2 est utilisée lorsqu'un graphique est actif ; et la syntaxe 3 s'applique aux modules Visual Basic et à la fenêtre Info.
    Les arguments correspondent aux cases à cocher et aux zones de texte dans la boîte de dialogue Mise en page. Les arguments qui correspondent aux cases à cocher sont des valeurs logiques. Si un argument est VRAI, Microsoft Excel coche la case et s'il est FAUX, Microsoft Excel supprime la coche de la case. Les arguments relatifs aux marges sont toujours exprimés en pouces, quel que soit le paramètre en vigueur dans votre pays.

    Syntaxe 1

    Feuilles de calcul et feuilles macro

    MISE.EN.PAGE(en_tête; pied_pg; marge_gch; marge_dr; marge_haut; marge_bas; no_lig_col; quadrillage; centr_hor; centr_vert; orient; papier; échelle; no_pg; ordre_impr; cellules_nb; qualité; marge_en_tête; marge_pied_pg; annot; brouillon)
    MISE.EN.PAGE?(en_tête; pied_pg; marge_gch; marge_dr; marge_haut; marge_bas; no_lig_col; quadrillage; centr_hor; centr_vert; orient; papier; échelle; no_pg; ordre_impr; cellules_nb; qualité; marge_en_tête; marge_pied_pg; annot; brouillon)

    Syntaxe 2

    Graphiques

    MISE.EN.PAGE(en_tête; pied_pg; marge_gch; marge_dr; marge_haut; marge_bas; dimension; centrer_horiz; centrer_vert; orient; papier; échelle; no_pg; graphique_nb; qualité; marge_en_tête; marge_pied_pg; brouillon)
    MISE.EN.PAGE?(en_tête; pied_pg; marge_gch; marge_dr; marge_haut; marge_bas; dimension; centrer_horiz; centrer_vert; orient; papier; échelle; no_pg; graphique_nb; qualité; marge_en_tête; marge_pied_pg; brouillon)

    Syntaxe 3

    Modules Visual Basic et la fenêtre Info
    MISE.EN.PAGE(en_tête; pied_pg; marge_gch; marge_dr; marge_haut; marge_bas; orient; papier; échelle; qualité; marge_en_tête; marge_pied_pg; no_pg)
    MISE.EN.PAGE?(en_tête; pied_pg; marge_gch; marge_dr; marge_haut; marge_bas; orient; papier; échelle; qualité; marge_en_tête; marge_pied_pg; no_pg)

    En_tête spécifie le texte et les codes de mise en page pour l'en-tête de la feuille active. Pour plus d'informations sur les codes de mise en forme, reportez-vous à "Remarques" ci-dessous.
    Pied_pg spécifie le texte et les codes de mise en forme pour le pied de page du classeur.
    Marge_gch correspond à la zone "Gauche", s'il s'agit d'un nombre qui spécifie la marge de gauche.
    Marge_dr correspond à la zone "Droite", s'il s'agit d'un nombre qui spécifie la marge de droite.

    Marge_haut correspond à la zone "Haut", s'il s'agit d'un nombre qui spécifie la marge du haut.
    Marge_bas correspond à la zone "Bas", s'il s'agit d'un nombre qui spécifie la marge du bas.
    No_lig_col correspond à la case à cocher "En-tête de ligne et de colonne". No_lig_col n'est disponible que dans la forme feuille et feuille macro de cette fonction.
    Quadrillage correspond à la case à cocher "Quadrillage". Quadrillage n'est disponible que dans la forme feuille et feuille macro de cette fonction.

    Centr_hor correspond à la case à cocher "Horizontalement" dans l'onglet Marges dans la boîte de dialogue Mise en page.
    Centr_vert correspond à la case à cocher "Verticalement" dans l'onglet Marges dans la boîte de dialogue Mise en page.
    Orient détermine l'orientation d'impression du classeur.

    Orient Format d'impression

    1 Portrait
    2 Paysage

    Papier est un nombre de 1 à 26 qui spécifie la dimension du papier.

    Papier Type de papier

    1 Lettre US

    2 Petite lettre
    3 Tabloïde US
    4 Ledger US
    5 Légal US
    6 Statement US
    7 Exécutive US
    8 A3
    9 A4
    10 A4 (petit format)
    11 A5
    12 B4
    13 B5
    14 Folio US
    15 Quarto US
    16 10x14
    17 11x17
    18 Note US
    19 ENV9
    20 ENV10
    21 ENV11
    22 ENV12
    23 ENV14
    24 Feuille C
    25 Feuille D
    26 Feuille E

    Echelle est un nombre qui représente le pourcentage d'agrandissement ou de réduction de la dimension de la feuille. Toute mise à l'échelle garde le facteur d'échelle de l'original.

    Pour spécifier un pourcentage d'agrandissement ou de réduction, définissez échelle au pourcentage adéquat.
    Pour des feuilles de calcul et des feuilles macros, vous pouvez spécifier le nombre de pages dans lequel doit tenir la sortie imprimée mise à l'échelle. Définissez échelle dans une matrice horizontale à deux éléments, avec le premier élément correspondant à la largeur et le second, à la hauteur. Si aucune contrainte n'est nécessaire pour une direction donnée, vous pouvez définir la valeur correspondante à #N/A.

    Echelle peut aussi être une valeur logique. Pour faire tenir la zone d'impression sur une seule page, définissez VRAI comme valeur de échelle.

    No_pg spécifie le numéro de la première page. Si zéro, la numérotation commence à 0. Si "Auto", la numérotation est effectuée automatiquement. S'il est omis, MISE.EN.PAGE garde le no_pg existant.
    Ordre_impr spécifie si la pagination doit être de gauche à droite, puis vers le bas, ou de haut en bas, puis vers la droite.

    Ordre_impr Pagination


    1 Haut en bas, puis droite
    2 Gauche à droite, puis bas

    Cellules_nb est une valeur logique qui spécifie s'il faut imprimer les cellules et tous les objets graphique, tels que les zones de texte et les boutons, en couleur.

    Si cellules_nb est VRAI, Microsoft Excel imprime le texte des cellules et les bordures en noir et le fond en blanc.
    Si cellules_nb est FAUX , Microsoft Excel imprime le texte des cellules, les bordures et le fond en couleur (ou en niveaux de gris)

    Graphique_nb est une valeur logique qui spécifie s'il faut imprimer les graphiques en couleur.
    Dimension est un nombre qui correspond aux options de la zone "Taille graphique". Il détermine comment vous voulez imprimer le graphique sur la page à l'intérieur des marges. Dimension n'est disponible que dans la forme graphique de cette fonction.

    Dimension Dimension d'impression du graphique

    1 Tel qu'à l'écran
    2 Ajusté à la page
    3 Pleine page

    Qualité spécifie la qualité d'impression en points par pouce. Pour spécifier la qualité d'impression horizontale et verticale, utilisez une matrice à deux valeurs.
    Marge_en_tête est la position, en pouces, de la marge d'en-tête à partir du bord de la page.
    Marge_pied_pg est la position, en pouces, de la marge du pied de page à partir du bord de la page.
    Brouillon correspond à la case à cocher "Qualité brouillon" dans les onglets Feuille et Graphique dans la boîte de dialogue Mise en page. Si FAUX ou omis, les graphiques sont imprimés avec la feuille. Si VRAI, les graphiques ne sont pas imprimés.

    Annot spécifie s'il faut imprimer les annotations de cellule avec la feuille. Si VRAI, la feuille et les annotations de cellule sont imprimées. Si FAUX ou omis, seule la feuille est imprimée.

    Remarques

    Microsoft Excel ne requiert plus de votre part la saisie de codes de mise en forme pour mettre en forme les en-têtes et les pieds de page, mais ces codes sont toujours pris en charge et enregistrés par l'Enregistreur de macro. Vous pouvez les inclure dans les chaînes en-tête et pied de page pour aligner des portions de l'en-tête ou du pied de page à gauche, à droite ou au centre, pour inclure le numéro de page, la date, l'heure ou le nom du classeur, ainsi que pour imprimer l'en-tête ou le pied de page en gras ou en italique.

    Code de mise en forme Résultat

    &E Aligne à gauche les caractères qui suivent.
    &C Centre les caractères qui suivent.
    &D Aligne à droite les caractères qui suivent.
    &G Active ou désactive l'impression en gras (désormais obsolète).
    &I Active ou désactive l'impression en italique.
    &S Active ou désactive l'impression en souligné.
    &B Active ou désactive l'impression en barré.
    &R Active ou désactive l'impression en relief (Macintosh uniquement).
    &O Active ou désactive l'impression des caractères ombrés (Macintosh uniquement).

    &J Imprime la date en cours.
    &H Imprime l'heure en cours.
    &A Imprime le nom de l'onglet de feuille.
    &N Imprime le nom du classeur.
    &P Imprime le numéro de page.
    &P+nombre Imprime le numéro de page plus nombre.
    &P-nombre Imprime le numéro de page moins nombre.
    && Imprime un seul signe &.
    & "nompolice, corps" Imprime les caractères qui suivent dans la police et le corps spécifiés. N'oubliez pas d'inclure une virgule immédiatement après le nom de la police et d'insérer entre guillemets le nom de la police et le corps.

    &nn Imprime les caractères qui suivent dans la taille de police spécifiée. Utilisez un nombre à deux chiffres pour spécifier une taille en points.
    &T Imprime le nombre total de pages du document.
    &L Imprime un double soulignement.
    &Y Imprime le caractère en indice.
    &X Imprime le caractère en exposant.
    la macro se lance comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.ExecuteExcel4Macro "PAGE.SETUP("Arg1,Arg2,,,,,,,,,,,,,,,,,,Arg20,Arg21)"

    L'impression peut aussi se lancer de la même façon.

    Equivaut à choisir, dans le menu Fichier, la commande Imprimer. Imprime le classeur actif.
    Les arguments correspondent aux options, cases à cocher et zones de modification de la boîte de dialogue Imprimer. Les arguments qui correspondent aux cases à cocher sont des valeurs logiques. Si un argument est VRAI, Microsoft Excel coche la case ; s'il est FAUX, Microsoft Excel supprime la coche.

    Syntaxe

    IMPRIMER(no_pages; de; à; copies; brouillon; aperçu; sections; couleur; alimentation; qualité; y_résolution; sélection)
    IMPRIMER?(no_pages; de; à; copies; brouillon; aperçu; sections; couleur; alimentation; qualité; y_résolution; sélection)

    No_pages est un nombre qui spécifie quelles pages imprimer.

    No_pages Imprime

    1 Toutes les pages
    2 Une plage spécifiée. Si no_pages est égal à 2, alors de et à sont obligatoires.

    De spécifie la première page à imprimer. Cet argument est ignoré, à moins que no_pages ne soit égal à 2.
    A spécifie la dernière page à imprimer. Cet argument est ignoré, à moins que no_pages ne soit égal à 2.
    Copies spécifie le nombre de copies à imprimer. S'il est omis, la valeur par défaut est 1.
    Brouillon Cet argument remplace l'argument brouillon de la fonction MISE.EN.PAGE. Si cet argument est omis, le paramètre brouillon de la fonction MISE.EN.PAGE est utilisé.

    Aperçu est une valeur logique qui correspond au bouton "Aperçu" dans la boîte de dialogue Imprimer. Si VRAI, la fenêtre de l'aperçu avant l'impression est affichée. Si FAUX, cette fenêtre n'est pas affichée.
    Sections est un nombre de 1 à 3 qui spécifie les parties de la feuille ou de la feuille macro qui doivent être imprimées. Si un graphique est actif, sections n'est pas pris en compte. Cet argument remplace le paramètre dans la boîte de dialogue Mise en page. S'il est omis, l'argument annotations de la fonction MISE.EN.PAGE est utilisé pour déterminer si les annotations doivent être imprimés ou non.

    Sections Imprime


    1 La feuille uniquement
    2 Les annotations uniquement
    3 La feuille, puis les annotations

    Couleur correspond à la case à cocher "Imprimer en couleur". Couleur n'est disponible que dans Microsoft Excel pour le Macintosh. S'il est omis, le paramètre demeure inchangé.
    Alimentation est un nombre qui spécifie le type de l'alimentation en papier. Cet argument n'est disponible que dans Microsoft Excel pour le Macintosh.

    Alimentation Type d'alimentation en papier

    1 ou omis Continue (cassette à papier)
    2 Feuille à feuille (manuelle)

    Qualité Spécifie la qualité en DPI souhaitée. Si cet argument est omis, les paramètres correspondants dans la boîte de dialogue Mise en page sont utilisés. S'il est inclus, cet argument remplace l'argument qualité de la boîte de dialogue Mise en page.
    Y_résolution correspond à la zone "Qualité d'impression" dans la boîte de dialogue Mise en page si la résolution horizontale et verticale de l'imprimante sont différentes, comme c'est le cas avec une imprimante matricielle. Si cet argument est omis, les paramètres correspondants dans la boîte de dialogue Mise en page sont utilisés. S'il est inclus, cet argument remplace le paramètre qualité d'impression dans la boîte de dialogue Mise en page.

    Sélection spécifie quelle partie de la feuille imprimer.

    Sélection Partie imprimée


    1 Imprime la sélection en cours dans toutes les feuilles sélectionnées. Par exemple, si A1:F40 est sélectionné sur la feuille active, A1:F40 sera imprimé à partir de chaque feuille sélectionnée.
    2 Imprime la zone d'impression ou la totalité de la feuille pour toutes les feuilles sélectionnées.
    3 Imprime la zone d'impression ou la totalité de la feuille pour toutes les feuilles du classeur.
    On appelle la macro comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        ExecuteExcel4Macro "PRINT(Arg1,Arg2,,,,,,,,,...)"
    cordialement

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2006
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    J'ai utilisé le Application.ExecuteExcel4Macro "PAGE.SETUP(". Pendant 20 min çà marchait plutôt nickel puis après plus rien... le PAGE.SETUP se lance mais ne réagit pas!!
    Avez vous des pistes?

    Merci beaucoup

    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
     
    'Procédure de mise en page utilisant les macros Xl4, pour un gain de temps substentiel
    Sub mise_enpage() '(W As Worksheet)
     
    'au cas où quelques sources
    'http://www.developpez.net/forums/d555722/logiciels/microsoft-office/excel/contribuez/mise-page-macros-xl4/
    'http://www.mrexcel.com/forum/showthread.php?t=9141
    Dim Str_macro As String
     
    'W.Activate
    Str_macro = "PAGE.SETUP("
    Str_macro = Str_macro & Chr(34) & Format(Date, "dd mmmm yyyy") & Chr(34)  'en_tête
    Str_macro = Str_macro & ", ""&Z&F\&A""" 'pied_pg
    Str_macro = Str_macro & ", 0.17, 0.17, 0.17, 0.37" 'marges gauche,droite,haut,bas
    Str_macro = Str_macro & ", FALSE" 'En-tête de ligne et de colonne
    Str_macro = Str_macro & ", FALSE" 'quadrillage
    Str_macro = Str_macro & ", TRUE, FALSE" 'centrage horizontal,vertical
    Str_macro = Str_macro & ", 2" 'orientation - 2=paysage
    Str_macro = Str_macro & ", 9" 'papier - 9=A4
    Str_macro = Str_macro & ", TRUE" 'échelle sur une seule page
    'Str_macro = Str_macro & ", {1,#N/A}" 'échelle : 1 page en largeur, pas de contrainte en hauteur
    Str_macro = Str_macro & ", 100" 'no_pg
    Str_macro = Str_macro & ", Auto" 'ordre_impression
    Str_macro = Str_macro & ", FALSE" 'cellules en noir & blanc
    Str_macro = Str_macro & ", 600" 'qualité
    Str_macro = Str_macro & ", 0.18, 0.17" 'marge_en_tête ,marge pied de page
    Str_macro = Str_macro & ", FALSE" 'annotations
    Str_macro = Str_macro & ", FALSE" 'brouillon
    Str_macro = Str_macro & ")"
    ExecuteExcel4Macro (Str_macro)
     
     
    Debug.Print Str_macro
    'Str_macro-->PAGE.SETUP("15 juin 2011", "&Z&F\&A", 0.17, 0.17, 0.17, 0.37, FALSE, FALSE, TRUE, FALSE, 2, 9, TRUE, 100, Auto, FALSE, 600, 0.18, 0.17, FALSE, FALSE)
    End Sub

Discussions similaires

  1. [XL-2007] Compatibilité des mises en forme conditionnelles avec les macros
    Par DarkGriffin dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/01/2013, 08h53
  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. SWT - Mise en page avec les layouts
    Par Klimium dans le forum SWT/JFace
    Réponses: 10
    Dernier message: 22/02/2009, 12h56
  4. mise en page avec les div
    Par wind_vinch dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 26/09/2007, 19h10
  5. Pb de mise en page avec les états
    Par clov dans le forum IHM
    Réponses: 2
    Dernier message: 19/07/2006, 08h05

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