Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re-bonjour

voir fichier joint

à+
Philippe


Edit: La feuille"à_imprimer" n'a plus de raison d'être, elle peut être supprimée
 

Pièces jointes

  • 111.xlsm
    57.6 KB · Affichages: 149
Dernière édition:

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.

 

Hynnuh

XLDnaute Junior
Bonjour,
pas de problème pour moi quand je lance la macro, cela ne me coupe pas le module.
en définitive, avec la syntaxe du code dans l'exemple j'ai pu adapter à mon tableau
et donc cela fonctionne parfaitement.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…