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

XL 2016 *** RESOLU MERCI :)*** Impression personnalisée.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Agecanonix35400

XLDnaute Junior
Bonjour à tous.

J'aurais besoin de vos lumières si vous le permettez.
En effet je vous ai mis mon fichier de facturation en exemple.
Lorsque je veux imprimer, je voudrais imprimer avec les filtres présents colonnes "A" et "H"
En revanche lorsque j'imprime cela me sort la liste complète
Ce que je voudrais c'est 1 jour par feuille
Par exemple
feuille 1 le 1er janvier.
feuille 2 le 02 janvier recto/verso
feuille 3 le 03 janvier.

Actuellement je dois sélectionner ma date et imprimer et refaire la même chose pour les autres jours.
Cela prend un temps fou car j'ai 3 fichiers gros comme celui-ci à imprimer.

Merci de me dire s'il y a un moyen d'imprimer en selectionnant le mois complet et que ca imprime 1 feuille par date ou bien une autre manière de faire.
 

Pièces jointes

Merci beaucoup mais la façon dont s'est fait je n'y arrive pas comme cela.
J'ai cliqué sur imprimé sur le 1er onglet mais je n'ai qu'une page à imprimer.
Sur le 2ème onglet je n'ai qu'un seul jour à imprimer, après faut que je selectionne le tout 1 par 1
Sur le 3ème onglet je n'ai rien à imprimer.

Le 1er code de TooFatBoy fonctionnait super bien sauf qu'il ne fonctionnait pas
Dans mon deuxième fichier exemple ci joint j'ai mis toute l'année. Le code y est mais ne fonctionne pas.
Le 1er était bien car on voyait tout et je pouvais selectionner ce que je voulais. Car je suis amené à n'imprimer qu'un seul jour s'il y a des modifications à faire
 

Pièces jointes

D'après ce que j'ai compris dans vos posts et ce qui me conviendrait c'est juste qu'il soit inséré un saut de page quand on change de jour.
Ce qui me permettrait de sélectionner les jours ou les mois correspondant.
Dans ce cas ne serait-il pas possible de faire une macro dans ce sens?

Bonne fin de journée
 
Voilà ce que ça donne chez moi dans un onglet ( à créer) EXPORT
Après , il y a des erreurs car le classeur a des liens avec d'autres.
Je ne saurais pas faire mieux pour diverses raisons, je dois arrêter (médicales entre autres) de m'y consacrer mais je suivrai le fil...
 

Pièces jointes

Est-ce que ce n'est pas déjà ce que fait la macro de #8 et la macro corrigée de #12 ???
Plus précisément, elle insère un saut de page quand le jour change, et que la ligne est visible.


Effectivement la prévisualisation ne montre pas ce qui va être imprimé.
On doit pouvoir y remédier en ajoutant un bouton, par exemple nommé "Imprimer", sur la feuille.

Attention : la macro cette fois-ci doit être dans un module standard.
C'est la même macro, mais j'ai ajouté ActiveSheet.PrintPreview à la fin pour afficher la prévisualisation.
 

Pièces jointes

Dernière édition:
Bonjour,

Oui c'est ce que tu as fait, je résumai juste dans me petit cerveau ce qu'il fallait faire pour que cela fonctionne 😉
 
Je te remercie cela fonctionne... presque 🙂
Je t'ai fait des captures d'écran:
  • Les impressions avec les dates qui se chevauchent
  • Mon tableau pour voir comment il est foutu
Sur l'impression cela me mélange les dates.
Peut-être que c'est juste la macro à modifier 🙂
Encore merci c'est top! cela me fera gagner énormément de temps
 

Pièces jointes

Les impressions avec les dates qui se chevauchent
Ca doit venir d'un potentiel problème auquel j'ai pensé hier. Mais je croyais que tu ne le rencontrerais pas... 😅

Hier je me suis dit que ma façon de procéder ne fonctionne que si tu filtres uniquement sur les dates. Mais si tu ajoutes un autre filtre sur une autre colonne, alors il y a peut-être bien un risque de ne pas obtenir le bon résultat.
Le problème doit venir du fait que je compare la cellule visible avec la cellule du dessus dans le tableau, alors qu'il faudrait comparer avec la première cellule au-dessus visible.
 
Dernière édition:
Oui effectivement.
Je fais 3 filtres
1 pour les dates, 1 pour les missions qui ont été acceptées et 1 pour mon numéro de contrat colonne "A"
Ce numéro de contrat est différent sur mes autres tableaux.
En effet je gère 3 centres différents, bientôt regroupés dans un nouveau logiciel mais pas avant mi 2026, voir fin 2026.
Donc mon tableau est filtré de la manière suivante:
  • Le numéro de contrat, ici 11 mais j'ai 2 autres numéros différents pour mes autres centres. Je pourrais le modifier pour qu'il colle avec les autres centres.
  • La date pour n'imprimer que ce dont j'ai besoin, vu que je peux imprimer 1 ou plusieurs dates. En général le mois complet, mais si modifs faites, réimprimer que ce dont j'ai besoin.
  • L'état colonne "H" car j'ai des missions "Acceptées" ou "Annulées" car non faites, mais je n'ai besoin que des missions "Acceptées"
Encore merci,
 
Je ne fais que passer 2 min puisque je ne sais pas plus mais il me semble que mon code scindait tes données dans un onglet export et une seconde macro imprimait pour chaque date ou groupe de date...
Tu peux me dire ce qui n'allait pas avec ça ? Merci
 
J'ai peut-être réussi... à faire ce que je voulais.
Peux-tu tester, stp ?

VB:
Sub Impression()
' Exemple d'ajout d'un saut de page : ActiveSheet.HPageBreaks.Add Before:=Range("A3")
Dim TS As Object
Dim MesDates As Range, NewCel As Range, OldCel As Range

    ' Si la feuille active au moment d'imprimer ne s'appelle pas "Feuille pour factu", alors on abandonne la macro
    If ActiveSheet.Name <> "Feuille pour factu" Then Exit Sub

    ' Assignation de TS : tableau complet (sans les en-têtes)
    Set TS = ActiveSheet.ListObjects(1)
    ' Assignation de MesDates : toutes les cellules visibles de la deuxième colonne du tableau
    Set MesDates = TS.ListColumns(2).DataBodyRange.SpecialCells(xlCellTypeVisible)

    ' Supprime tous les sauts de page de la feuille active
    ActiveSheet.ResetAllPageBreaks

    ' Assignation de Debut à True
    Debut = True

    ' Pour chaque cellule visible de la deuxième colonne du tableau
    For Each NewCel In MesDates
        ' Si Debut = True alors...
        If Debut Then
            ' Assignation de OldCel
            Set OldCel = NewCel
            ' Assignation de Debut à False, pour ne pas repasser dans cette partie du For...Next
            Debut = False
        Else
            ' Si la valeur de la cellule visible n'est pas identique à celle de la cellule visible au-dessus...
            If NewCel <> OldCel Then
                ' on ajoute un saut de page
                ActiveSheet.HPageBreaks.Add Before:=NewCel
            ' Fin de Si
            End If
            ' Assignation de OldCel
            Set OldCel = NewCel
        ' Fin de Si
        End If
    ' Passage à la cellule suivante
    Next

    ' Configuration pour imprimer l'en-tête sur chaque page
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = TS.HeaderRowRange.Address
        .PrintTitleColumns = ""
    End With
    Application.PrintCommunication = True

    ActiveSheet.PrintPreview

End Sub
 

Pièces jointes

Dernière édition:
Ca fonctionne impeccable
Content pour toi si ton problème est résolu. 🤗

Pour marquer ton problème comme étant résolu :
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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