Imprimer en rafale via macro

Bonsoir à tous,

j'ai un tableau (colonne A à E) avec en colonne A des prestations qui sont numérotées et classées par ordre croissant.

je souhaiterais avoir une piste par macro.

Au clic de la macro ça imprimerait en rafale le tableau pour chaque prestation.

dans mon exemple j'ai 3 prestations différentes : la prestation 11, 15 et 16.

Du coup en cliquant sur la macro cela devrait imprimer automatiquement 3 feuilles : une feuille avec le tableau de la prestation 11, une feuille avec le tableau de la prestation 15 et une feuille avec le tableau de la prestation 16.

etc etc autant de feuilles imprimées automatiquement qu'il y a de prestations différentes.

j'ai mis à coté du tableau le résultat attendu

Sachant qu'il peut y avoir énormément de prestation dans mon tableau, une macro me ferais gagner beaucoup de temps.

Par avance merci

bonne soirée

7test1.xlsx (12.32 Ko)

Bonjour,

Il est très difficile de vous répondre précisément avec ce simple exemple.

De plus en cas d'impression nombreuses il faut parfois ralentir le processus afin de ne pas bloquer le gestionnaire d'impression...

De plus il faut également parfois gérer le réapprovisionnement en papier. Toutes chose difficile à prévoir pour le programmeur qui n'a pas la connaissance précise de vos conditions de travail.

On ne va pas programmer pareillement

  • l'envoi de factures mensuelle à une centaines de clients
  • un courrier à 5000 marathoniens
  • une dizaine de page d'un catalogue !

Pour répondre quand même un peu plus précisément dans le ruban l'outil mise en page permet d'insérer des sauts de page aus endroits désiré... sous réserve que votre feuille soit bien conçue !

Vous avez même la possibilité d'imprimer une ou plusieurs ligne d'en-tête sur chaque page.

C'est ce que j'ai fait dans votre exemple...

Vous pouvez basculer utilement le mode d'affichage en cliquant dans l'onglet Affichage Sauts de page ou Normal (et également dans la barre d'Etat en bas sur les icones correspondantes.

miseenpage

Vous pouvez également visualiser l'aperçu avant impression telle que je l'ai paramétré.

Après pour mettre ça en macro ça demande une bonne mise au point une fois que ce travail préliminaire est fait.

De toute façon ça ne me parait pas possible de programmer ça uniquement à partir de votre classeur exemple : ça se fait sur le classeur réel (mais il est possible d'anonymiser les données...)

A+

8miseenpage.xlsx (12.74 Ko)

Merci pour la réponse.

Sans avoir à paramétrer le fichier je vais essayer de dire a la macro d imprimer le tableau à chaque changement de prestation.

En gros ça va lui dire de copier les données sur la page imprim et d imprimer.

Ainsi de suite.

Merci

Bonjour,

Une proposition à étudier de ce j'ai compris. .

* Supprimer preview:=True, si ok.

Cdlt.

14test1.xlsm (22.50 Ko)
Public Sub PrintData()
Dim ws As Worksheet
Dim dict As Object
Dim lastRow As Long, i As Long
Dim tbl
    Set ws = Worksheets("prestation")
    Set dict = CreateObject("Scripting.Dictionary")
    With ws
        If .FilterMode Then .ShowAllData
        .PageSetup.PrintArea = .Cells(4, 1).CurrentRegion.Address
        lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
        tbl = .Cells(5, 1).Resize(lastRow - 4).Value
        For i = 1 To UBound(tbl)
            dict(tbl(i, 1)) = ""
        Next i
        For i = 0 To dict.Count - 1
            .Cells(4, 1).AutoFilter field:=1, Criteria1:=dict.Keys()(i)
            ws.PrintOut preview:=True
        Next i
        .Cells(4, 1).AutoFilter field:=1
    End With
End Sub

Bonjour!

Cette macro est parfaite et elle fait ce que je souhaite!

Je vais tenter de la modifier à peine pour que tout s imprime en un seul clic sans passer par l aperçu avant impression.

Merci beaucoup!!

Rechercher des sujets similaires à "imprimer rafale via macro"