XL 2016 [RESOLU] Adapter les saut de page lors de l'impression VBA

Hynnuh

XLDnaute Junior
Bonjour,

Je souhaiterais pouvoir imprimer sans que les sauts de page ne coupe les informations de mes tableaux.
je m'explique,
la page que je veux imprimer se présente comme le fichier joint pour la suite j'appellerai module l'ensemble des cellules dans un cadre
le nombre et la position des modules peut varier, ce qui parfois peut amener à avoir un saut de page qui coupe un des modules.

est il possible d'automatiser la position du saut de page en VBA pour ne jamais avoir un module coupé lors de l'impression?

en vous remerciant d'avance
 

Pièces jointes

  • Exemple impression.xlsx
    10.5 KB · Affichages: 49

phlaurent55

Nous a quittés en 2020
Repose en paix
Bonjour à tous,

j'appellerai module l'ensemble des cellules dans un cadre
le nombre et la position des modules peut varier,

je pense avoir compris que dans le fichier joint à la question posée, l'imprimante devra sortir 13 feuilles qui reprendront chacune les lignes 1 ----->9 plus les "modules" A -----> M
(un module par page)

ça devrait le faire avec ce code:

Code:
Sub Macro1()
' création des sauts de page
For i = Range("A65535").End(xlUp).Row To 10 Step -1
If Cells(i, 1).MergeCells = False Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(i + 1, 1)
End If
Next i
' Répeter l'en-tête
With ActiveSheet.PageSetup
        .PrintTitleRows = "$1:$9"
End With
' impression
ActiveSheet.PrintOut
End Sub

voir fichier joint

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    19.6 KB · Affichages: 47

Hynnuh

XLDnaute Junior
Bonjour à vous, merci pour vos premiers retours:

@Paritec
j'aimerais automatiser la position du saut de page tout en évitant de devoir tout mettre sur une seule page.
Lorsque que j'ai 20modules sélectionnés cela donnerait une page illisible une fois imprimée.

@phlaurent55
merci, la macro est intéressante mais ne correspond pas tout à fait à ce que je cherche.
le souci qui se pose est le suivant:
avec la macro si j'ai 20 modules j'aurais alors 21 pages d'impression.

l'idée est d'avoir le minimum de pages (donc entre 1 et 3 maximum compte tenu du nombre maximum de modules)
et ne pas avoir un module tronqué lors de l'impression.


est-il possible de modifier la macro pour que le décalage du saut de page ne se fasse que quand le module est en fin de page?

Merci d'avance

Hynnuh
 

Hynnuh

XLDnaute Junior
Bonjour,
@phlaurent55
Merci
je vais abuser,
mais ce n'est pas vraiment ce que je cherche non plus,
je m'explique,
la macro présentée fait des copiés collé et imprime les feuilles les unes après les autres par pas de 40lignes en prenant soin de ne pas séparer les modules,
mais ce faisant ça me lance donc plusieurs impressions. sans pour autant changer la mise en page de la première feuille (contenant tous les modules)

or il faudrait pouvoir "juste" modifier le saut de page pour qu'il se cale correctement, toutefois si on combine les deux macros précédentes ensemble,
est-il possible d'y arriver?
je vais regarder également de mon coté.

merci en tout cas.
 

Hynnuh

XLDnaute Junior
Merciiiii,

c'est juste génial, c'est exactement ce qu'il me fallait pour ne pas avoir à tout replacer à chaque fois.

je m'en vais de ce pas indiquer le sujet comme résolu.

Bonne journée

ps: le dromadaire je ne vais peut être pas le garder par contre :)
 

Lone-wolf

XLDnaute Barbatruc
Bonjour à tous :)

@Hynnuh: même si le sujet est résolu. J'ai remarqué que le dernier module de la 1ère page était coupé. Pour qu'il soit complet, il faut supprimer 4 ligne de l'entête. Ensuite, Marges Etroites > position Horizontal.

page.gif
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 907
Membres
101 836
dernier inscrit
karmon