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
PJ :
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,
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
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
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
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 FunctionMerci à 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
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.
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
