ligne à repeter en bas excel

RONIBO

XLDnaute Impliqué
Bonjour,

Je viens vers vous suite à un problème que je n'arrive pas à résoudre.

J'ai crée un modèle de facture, malheureusement parfois il peut arriver que mes factures fassent plusieurs pages.

Afin de faciliter la création de ma facture à plusieurs pages, j'ai crée un bouton qui ajoute des lignes sur cette partie :


Mon problème est quand j'arrive à la dernière ligne deux ma facture et qu'il me manque quelques lignes (exemple 7 lignes) pour finaliser ma facture, je suis obliger d'ajouter 31 lignes pour rendre ma facture compréhensible, sinon j'obtiens ceci :

Première page :


Deuxième page :


Lorsque j'ajoute 31 lignes pour créer la prochaine page alors qu'il m'en fallait que 7 (par exemple), voici s'que j'obtiens.
Première page :


Deuxième page :


En gros la deuxième page ne sert à rien car il y a aucune donnée mise à part les totaux.

Je voulais savoir si l'on peut utiliser la répétition des lignes du bas comme j'ai fais pour les lignes du haut. (Mise en page > Feuille > Ligne à répéter en haut)

Ou avez vous une autre solution à me proposer via vba.

J'ai pensé à un modèle comme ceci (C'est juste une idée)
Première page :


Deuxième page :


J'espère que je me suis fais comprendre :)

Je remercie par avance

Bonne journée
 

Pièces jointes

  • Exemple.xlsm
    55.5 KB · Affichages: 147
  • Exemple.xlsm
    55.5 KB · Affichages: 149
  • Exemple.xlsm
    55.5 KB · Affichages: 148

Dranreb

XLDnaute Barbatruc
Re : ligne à repeter en bas excel

Bonjour.
Pourquoi ne mettriez vous pas juste le nombre de lignes nécessaires, en gérant automatiquement la collection HPageBreaks de la feuille de manière à ce qu'elle soit divisée en parts égales sur toutes les pages, y compris les 6 ou 7 lignes de totaux de la dernière ?
 

grisan29

XLDnaute Accro
Re : ligne à repeter en bas excel

bonjour Ronibo,dranreb et le forum

voici un exemple de ce que je faisait que j'ai regroupé en 1 seul usf
Ce lien n'existe plus

Pascal

autrement j'ai ce code qui est dans thisworkbook d'un autre classeur qui en cliquant sur aperçu fait le boulot de détecter la dernière ligne afin de créer le nombre de page nécéssaire et de reporter le bas de page en fonction

Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean) 'Utilis & Chr(10) &
Dim VPB As VPageBreak, HPB As HPageBreak
Dim No As String, Dt As String
 
Application.ScreenUpdating = False
 
'formater en vue d'impression
With ActiveSheet
    'reset parametres d'impression
    .ResetAllPageBreaks
    With .PageSetup
        'redefinition de la plage d'impression 13 lignes dessous MTTC
        .PrintArea = "$C$1:$M$" & [MTTC].Row + 13
        'pas de parametre de mise en page
        .CenterHeader = ""
        .CenterFooter = ""
    End With
    'passage en break preview sinon erreur avec DragOff
    ActiveWindow.View = xlPageBreakPreview
    'déplacement des sauts de page
    For Each VPB In .VPageBreaks
    'Cette méthode fait glisser un saut de page hors de la zone d’impression.
        VPB.DragOff Direction:=xlToRight, RegionIndex:=1
    Next VPB
    'retour à vue normale
    ActiveWindow.View = xlNormalView
    'ajout de ligne avant et après chaque saut de page pour délimiter le cadre lors de l'impression
    'On parcourt la collection des Sauts de pages (HPageBreaks)
    For Each HPB In .HPageBreaks
    '                HPB.Location est la première cellule juste en bas du saut de page
                   'Donc HPB.Location.row-1 est la ligne juste avant le saut de page
              .Range(.Cells(HPB.Location.Row - 1, 3), .Cells(HPB.Location.Row - 1, 12)).Borders(xlEdgeBottom).LineStyle = xlContinuous
        'et C'est la plage allant de la 3ème colonne à la 12ème de la ligne juste en dessus du saut de page
        .Range(.Cells(HPB.Location.Row, 3), .Cells(HPB.Location.Row, 12)).Borders(xlEdgeTop).LineStyle = xlContinuous
       'prochain saut
    Next HPB
   
End With

Application.ScreenUpdating = True

End Sub

et qui est en rapport avec ce que dit dranreb
 
Dernière édition:

RONIBO

XLDnaute Impliqué
Re : ligne à repeter en bas excel

Re,

Grisan29 : Merci pour ton fichier, je l'ai testé, mais je crois que j'aurais le même problème par la suite car il insère le bas de page en dessous de la dernière ligne ou il y a la qté désignation etc.

Et si ma dernière ligne de facture (ou il y a la qté désignation etc.) est sur ma dernière ligne de la feuille?

a+
 

grisan29

XLDnaute Accro
Re : ligne à repeter en bas excel

re
Ce lien n'existe plus dans ton exemple j'ai rajouter des lignes d'écriture pour avoir 2 feuilles mais je ne sais pas pourquoi il y a une autre qui suit

Pascal

surement a cause du format de ta feuille
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 755
Messages
2 091 726
Membres
105 058
dernier inscrit
axcelle