Mise en Page pour Impression

Bonjour, me revoici avec un autre challenge

Je bosse sur un générateur de CheckList, et la phase finale consiste

à imprimer le document sur une seule feuille recto/verso si nécessaire

Dans l'exemple joint, la mise en page à l'ouverture du fichier est "n'importe quoi", mais la macro associée au bouton la modifie de telle sorte que l'impression soit faite selon ma contrainte.

Bien que je sois à la longueur maximum en nombre de lignes que je pense j'aurai à traiter,

on voit que la contrainte "recto/verso" pas plus, diminue la largeur du tableau, rendant illisible la fin des lignes parfois un peu longues.

Lorsqu'une CheckList ne comporte qu'une dizaine de lignes, le tableau utilise toute la largeur de la page...

Ma question est simple;

est il possible de travailler cette mise en page de telle sorte que quelle que soit la longueur de la C/L, le marges latérales soient fixes et minimum ?

Merci de vos avis

Bonjour,

travaillant dans le même domaine que toi, et ayant également fait ce genre de fichier, pourquoi :

  • chercher à imprimer en mode "paysage" et pas en "portrait"?
  • chercher à passer par une macro pour faire quelque chose qu'excel peut faire (onglet "mise en page")?

ou alors j'ai pas tout compris sur ce que tu cherches à faire...

gigi777 a écrit :

Bonjour,

travaillant dans le même domaine que toi, et ayant également fait ce genre de fichier, pourquoi :

  • chercher à imprimer en mode "paysage" et pas en "portrait"?
  • chercher à passer par une macro pour faire quelque chose qu'excel peut faire (onglet "mise en page")?
ou alors j'ai pas tout compris sur ce que tu cherches à faire...
Bonjour,

Je pense que tu n'as "pas tout compris". Mais surement parce que je me suis mal expliqué

Effectivement dans l'exemple que je donne, la mise en page en en Paysage, et hyper zoomée.

C'est exprès, pour montrer l'action de ma macro lancée en cliquant sur le bouton.

Avec cette macro, l'"opérateur" aura toujours un C/L en mode portrait, et qui tiendra sur un seule feuille (avec un recto verso si nécessaire).

Mais plus besoin d'aller mettre les mains dans le cambouis pour la mise en page.

Il faut dire que l'exemple que je donne est tiré d'un classeur bien plus important qui génère automatiquement les C/L à la demande.

(Si tu remontes mes posts ici, tu pourras presque en suivre l'avancée )

J'espère que c'est plus clair.

PS: puisqu'on est dans le même domaine, comment fais tu toi ?

BastLat a écrit :

PS: puisqu'on est dans le même domaine, comment fais tu toi ?

Comme dit plus haut : onglet mise en page... réglée 1 fois pour toutes visiblement (du moins, je ne le touche plus depuis...et que je sache les collègues non plus)

Après, j'y connais rien en vba, donc je ne pourrai t'aider davantage sur ce terrain...

gigi777 a écrit :
BastLat a écrit :

PS: puisqu'on est dans le même domaine, comment fais tu toi ?

Comme dit plus haut : onglet mise en page... réglée 1 fois pour toutes visiblement (du moins, je ne le touche plus depuis...et que je sache les collègues non plus)

Après, j'y connais rien en vba, donc je ne pourrai t'aider davantage sur ce terrain...

07h40 !! Donc début du boulot 07h30 environ !

Non, on travaille pas dans le même domaine !

Mon problème, c'est qu'à chaque fois que je modifie ou crée une C/L, c'est l'intégralité des C/L de mon classeur qui est supprimée et recréée. Pour l'instant j'ai 11 C/L (1 par feuille). Donc mise en page des 11 feuilles à retravailler.

C'est pour ça que je cherche à l'automatiser.

Merci quand même pour ton aide

[quote="BastLat"

07h40 !! Donc début du boulot 07h30 environ !

Non, on travaille pas dans le même domaine ! [/quote]

vu le nom de l'onglet de ton fichier, et quelques éléments de la checklist, si si : on est dans le même domaine... 8) puis vu à quelle heure tu as posté ta 1ere réponse, faut pas regarder l'heure

Nous on a fait 1 checklist/classeur... comme ça on gère pas les onglets

gigi777 a écrit :

....vu le nom de l'onglet de ton fichier, et quelques éléments de la checklist, si si : on est dans le même domaine... 8) ...

Damned ! J'avais oublié l'onglet !

Bon, ben j'ai réglé mon pb en modifiant les code ainsi:

Sub MPage()
Dim w_s As Worksheet
Dim NLg As Long
Dim PTall As Long
Application.ScreenUpdating = False
On Error Resume Next
For Each w_s In Worksheets
    If w_s.Name <> ("LISTE") Then
        With w_s
            NLg = .Range("A" & Rows.Count).End(xlUp).Row
            If NLg > 115 Then
                PTall = 3
            Else
                PTall = 2
            End If
            .Columns("A").ColumnWidth = 6
            .Columns("B:H").ColumnWidth = 14
            .Range("$A$1 : $H$" & NLg).Select
            .PageSetup.PrintArea = "$A$1 : $H$" & NLg
                With .PageSetup
                    .LeftMargin = Application.InchesToPoints(0.1)
                    .RightMargin = Application.InchesToPoints(0.1)
                    .TopMargin = Application.InchesToPoints(0.2)
                    .BottomMargin = Application.InchesToPoints(0.2)
                    .CenterHorizontally = True
                    .CenterVertically = False
                    .Orientation = xlPortrait
                    .Draft = False
                    .PaperSize = xlPaperA4
                    .FirstPageNumber = xlAutomatic
                    .Order = xlDownThenOver
                    .Zoom = False '________________________________IMPORTANT !!
                    .FitToPagesWide = 1
                    .FitToPagesTall = PTall
                End With
        .Range("A1").Value = NLg
        .Range("A1").Select
        End With
    End If
Next w_s
End Sub

Si le nombre de lignes est vraiment important (>115), j'imprime sur 3 pages au lieu de 2.

Il ne me reste plus qu'à passer l'info à l'imprimante qu'elle doit imprimer "Recto/Verso",

et là c'est pas gagné.

Je pense que c'est spécifique...

Rechercher des sujets similaires à "mise page impression"