Repetition d'entête de tableau

Bonjour à tous,

Ayant pas mal de soucis avec un fichier de devis type que je dois réaliser, je viens solliciter votre aide concernant quelques petits problèmes que j'aimerai résoudre.

Dans mon fichier type de devis, j'ai un tableau principal ou sera référencé le plus gros de mon devis.

Mon premier problème est que j'aimerai répéter les en têtes de mon tableaux sur les pages suivante seulement si mon tableau principal continue sur ces même pages... En effet, si j'utilise la fonction présente dans Mise en page/Feuille "Lignes à répéter en haut : " toutes mes pages sont marqués de mes intitulés de colonnes alors que mon tableau est déjà remplie.

Par exemple sur la page 1, j'ai ma présentation de l'entreprise, nom du client, en dessous j'ai mon tableau de devis qui commence et qui se termine vers la fin de la page 2, ensuite j'ai le tableau de total puis le bon pour accord et la signature du client qui se termine en début de page 3.

Les pages 1 et 2 seront correcte mais en début de page 3 j'aurai une première ligne avec mes intitulés de colonnes de mon tableau principal et ça n'a rien à voir puisque je le considère comme remplie.

Je ne sais pas si il y a besoin d'utiliser le VBA pour résoudre ce problème et je ne vous cache pas que je préférerai ne pas y avoir recours

Je vous joint mon fichier au cas ou vous auriez besoin de le consulter, je ne suis pas certain d'avoir été clair mais j'espère que vous m'aurez compris.

Cordialement,

Vous souhaitant une bonne journée, et surtout un grand d'avance.

PJ :

Bonjour nonow

Bienvenue sur ce forum

Un fichier à tester

Dites-moi quelles lignes vous souhaitez voir comme en-tête ?

Amicalement

Pierrot

resolu 4

Merci de votre réponse.

Je souhaite répéter les lignes Désignation Quantité Unité Prix Unitaire et Total (ligne 21 )

Je vous joint mon fichier avec une erreur pour que vous puissiez comprendre.

Regardez l'aperçu avant impression et vous allez comprendre.

C'est très embêtant.

Merci de l'aide que vous m'apportez.

PJ :

Voilà nonow

Lorsque j'effectue un aperçu avant impression, je ,vois les lignes 1 à 21

mais avec page suivante ces lignes n'apparaissent plus il faudrait peut-être imprimer une page d'essai

Je ne sais pas faire grand chose d'autre.

Amicalement

Pierrot

Je me suis surement mal exprimé.

Sur l'exemple que je vous ai donné, mon problème vient de la répétition de l'en tête.

En gros j'aimerais trouver une solution pour que l'en tête se répète sur la page 2 mais pas sur la 3 de l'exemple que je vais vous donner.

PJ :

Bonsoir,

Je n'arrive pas à afficher les lignes d'en-tête pour les deux premières lignes etles supprimer pour les suivantes.

C'est oui ou non et pas oui et non.

je cherche une solution avec un copier-coller et une zone d'impression

ça a l'air de marcher mais j'ai un problème avec les formules

de plus, votre facture contient trop de lignes (voir zone d'impression)

pour avoir la facture et la signature du client sur la même feuille; sinon l'accord du client vient en 3ème feuille en haut de feuille

je vous tiens au courant de mes élucubrations.

Amicalement

Pierrot

Bonjour nonow,

une autre version à tester

Amicalement

Pierrot

36facturation.xlsm (173.16 Ko)

Bonjour,

Merci du temps que vous passé à essayer de m'aider.

Je viens de tester votre fichier, cette mise en page est intéressante mais j'ai toujours un problème.

Je vous joint votre fichier modifier avec l'erreur en question.

Lorsqu'on regarde la page 4 de l'aperçu avant impression, j'ai mes colonnes d'en tête qui apparaissent et qui donne sur la fin de mon petit tableau des signatures et moi j'aurai aimé que dans ce cas bien précis, le cas ou il coupe le tableau total ou le tableau des signature et bien que les en tête de colonne ne soit pas visible ou qu'elles s'effacent automatiquement.

Mais ça je ne sais pas si c'est possible et c'est bien embêtant :lol

29facturation.xlsm (172.28 Ko)

Bonjour nonow,

J'ai regardé votre fichier et comme Cappe Pierre je ne trouve pas la solution.

Peut-être faut-il simplement supprimer les lignes inutiles et gérer soit 1 page ou 2 pages (ou plus si besoin).

Voici un modèle que j'avais proposé sur le forum il y a un moment. Il comporte un fichier client, une base TVA modifiable, une feuille Devis imprimable et possibilité de sauvegarde en PDF, une feuille facture idem, une base de données équipements (Base) et une base de données main d'œuvre 'MO) modifiables.

Les boutons de commande de la feuille devis fonctionnent par DOUBLE-CLIC.

Ci-joint également votre fichier réduit à 2 pages, avec entête et pied de page à valider.

A tester

Cdt

Henri

28nonow-v2.xlsx (17.40 Ko)

Nonow,, bonsoir AFEH

je ne comprends votre problème, dans la facture à votre nom, vous avez 112 lignes

or dans mon modèle "Master", il n'y en a que 87. celui qui est copié avec le nouveau nom

c'est de là que vient le problème à l’aperçu avant impression

Si dans la feuille clients, vous double-cliquez en face du nom, vous ne pouvez avoir que 87 lignes,

J'ai réessayé avec votre nom et je n'ai aucun problème.

Ci-joint, le fichier modifié

Amicalement

Pierrot

30facturation-1.xlsm (168.80 Ko)

Bonjour,

Je n'ai pas la solution définitive. Mais une proposition à étudier et à finaliser.

Si j'ai compris la question.

Cdlt.

Option Explicit
Public Sub Impression_devis()
Dim ws As Worksheet
Dim nbPages As Integer, lastRow As Integer
Dim strRng As String

    Application.ScreenUpdating = False

    Set ws = ActiveSheet

    With ws
        .PageSetup.PrintArea = ""
        .PageSetup.PrintTitleRows = ""
        nbPages = .PageSetup.Pages.Count
        lastRow = [finZI].Row
        strRng = .Range(.Cells(1, 1), .Cells(lastRow, 5)).Address
        .PageSetup.PrintArea = strRng

        Select Case nbPages
        Case 1
            .PrintOut
        Case 2
            .PrintOut from:=1, to:=1
            .PageSetup.PrintTitleRows = "$21:$21"
            .PrintOut from:=2, to:=2
        Case Else
            .PrintOut from:=1, to:=1
            .PageSetup.PrintTitleRows = "$21:$21"
            .PrintOut from:=2, to:=nbPages - 1
          ' à méditer...
            If numeroPage([finTBL]) = nbPages And numeroPage([finZI]) = nbPages Then
                .PageSetup.PrintTitleRows = "$21:$21"
                .PrintOut from:=nbPages, to:=nbPages
            Else
                .PageSetup.PrintTitleRows = ""
                .PrintOut from:=nbPages, to:=nbPages
            End If
        End Select

    End With

    Set ws = Nothing

End Sub
Private Function numeroPage(Cellule As Range) As Integer

  Dim VPC As Integer, HPC As Integer
  Dim VPB As VPageBreak, HPB As HPageBreak
  Dim Wksht As Worksheet
  Dim Col As Integer, Ligne As Long

  Set Wksht = Cellule.Worksheet
  Ligne = Cellule.Row
  Col = Cellule.Column
  If Wksht.PageSetup.Order = xlDownThenOver Then
    HPC = Wksht.HPageBreaks.Count + 1
    VPC = 1
  Else
    VPC = Wksht.VPageBreaks.Count + 1
    HPC = 1
  End If
  numeroPage = 1
  For Each VPB In Wksht.VPageBreaks
    If VPB.Location.Column > Col Then Exit For
    numeroPage = numeroPage + HPC
  Next VPB
  For Each HPB In Wksht.HPageBreaks
    If HPB.Location.Row > Ligne Then Exit For
    numeroPage = numeroPage + VPC
  Next HPB

End Function

Merci à vous tous de me proposer vos idées de mise en page mais malheureusement même avec vos précieux conseils je n'arrive toujours pas à solutionner mon réel problème...

J'aimerais pouvoir répéter l'en tête de mon tableau SEULEMENT ET SEULEMENT SI mon tableau continue sur la page suivante, SINON ne pas répéter cet en tête et poursuivre avec un début de page sans en tête.

Malheureusement je pense que cela n'est pas possible ^^.

Pour une page ça fonctionne bien car mon en tête ne se répète pas et pour 2,3,4,5,6,x,y,z pages le problème est que ça fonctionne sauf si mon tableau principal (ou sont référencés tous les items de mon inventaire que je vais devoir facturer) se termine trop bas dans ma page et que la fin de mon devis se retrouve sous les en tête de mon tableau alors que celui ci est finis...

En gros ce que j'essayais de vous montrer c'est que mon tableau principal (celui ou seront référencés l'ensemble de mes items que je vais facturer) va par exemple s'étendre sur la page 1,2,3,4 et qu'il va s’arrêter 5 lignes avant la fin de la page 4, le problème est que la fin de mon devis qui se conclut par les modalités de paiement et la signature, bon pour accord du client et de l'artisan correspondent à 10 lignes, donc mon fichier excel va donc créer une 5 page en répétant mes en têtes alors qu'ils ne me serviront à rien car ils seront hors contextes...

J'aimerais juste que la répétition de mes en têtes soit INTELLIGENTE et malheureusement ça à l'air bien compliqué à mettre en place

Merci pour vos lectures et si jamais quelqu'un à une idée, tenez moi au courant.

Bonne soirée,

Cordialement.

Nonow.

Bonsoir, Nonow

Je suis désolé, je ne suis pas capable de poursuivre votre demande,

Je vais donc m'arrêter ici.

Bonne chance pour votre projet et bonne soirée

Amicalement

Pierrot

Merci à toi Pierrot de m'avoir consacrer pas mal de temps même si au final ce que je demande est compliqué

Je pense qu'il va falloir que je mette au VBA pour me créer un petit programme qui me permettrait suivant mes conditions de m'afficher ou non les en têtes de colonnes suivant ce que j'ai après..

Je vous souhaite une bonne soirée et je vous tient au courant de mes avancés futures, sauf si quelqu'un arrive par miracle avec une solution qui pourrait m'aider ^^

Cdt,

Nonow.

Cher ami,

ton problème me chiffonne

Je viens de créer une macro qui peut insérer des lignes si la facture initiale ne suffit pas,

mais j'ignore s'il faut afficher les en-têtes sur toutes les feuilles ou simplement la 1ère ?

Ne peut-on pas établir une facture avec un total provisoire en bas de la 1ère feuille ? et reporter ce total sur

le début de la 2ème feuille avec une automatisation des numéros de pages 1 sur 3, 2 sur 3 et 3 sur3 p.e.

Pour insérer des lignes, je tiens compte des zones d'impression, mais j'"ai toujours en dernière page l'accord du client sur quelques lignes.

Je vais cogiter la-dessus.

Bonne soirée

Cordialement

Pierrot

Bonsoir à tous,

Moi aussi ce problème m'agace.

Voici une autre solution qui n'imprime que les lignes non vides.

Si par hasard le changement de page coupe les lignes d'informations de paiement et de signature, on pourrait mettre OK en colonne G dans les dernières lignes de façon à avoir une impression correcte. Mais ce n'est que du bidouillage .

Bon week-end

Cdt

Henri

25nonow-v3.xlsm (30.61 Ko)

Bonjour AFEH,

Ta formule fonctionne bien aussi

mais si notre jeune ami utilise plusieurs feuilles de facture, ou insérer les lignes supplémentaires ? et combien.?

C'est Nonow qui a l'embarras du choix.

moi, je créerais une facture normale (deux feuilles) et une version longues (nombre de feuilles à déterminer )

Bonne journée à tous

Amicalement

Pierrot

Bonjour à tous,

Une solution simple consiste à modifier la présentation du devis.

Une page d'en-tête pour regrouper les données principales et une ou plusieurs pages annexes pour le détail du devis.

52exemple-1.xlsm (25.89 Ko)

A+

Bonjour à tous, nonow, frangy, AFEH,

Voilà une présentation de Frangy qui ne manque pas de charme, mais comme je l'ai dit hier, c'est nonow qui décidera,

Il suffit d'adapter les listes déroulantes et les pages suivantes pour le détail

Bonne journée à tous et merci

Amicalement

Pierrot

Bonjour à tous,

En fait la solution était simple. Il fallait adopter la méthode de Frangy.

Ci-joint ma version

Cdt

Henri

58nonow-v4.xlsm (37.37 Ko)
Rechercher des sujets similaires à "repetition entete tableau"