Afficher et imprimer des feuilles en fonction des données sources

Bonjour,

J'ai déjà fait appel à vous et cela m'a permis de bien automatiser mon activité. Merci encore.

J'ai de nouveau besoin d'aide... pour une nouvelle activité que je dois gérer.

En fait, j'ai un fichier qui se compose d'une feuille appelée "Global" dans laquelle j'ai environ 400 lignes. Chaque ligne a une référence de type DXXXXX-BRCXXXXX.

Chaque ligne renvoie à une nouvelle feuille qui est nommée de la même façon ("DXXXXX-BRCXXXXX") dans la feuille "Global".

Chaque ligne de la feuille "Global" est renseignée avec une date de programmation (colonne P).

Mes questions :

  • après avoir fait un filtre par date d'intervention, comment puis-je n'afficher que les feuilles dont la référence est le résultat du filtre?
  • comment puis-je imprimer les feuilles affichées (sans la feuille "Global") sachant que je ne dois imprimer que les lignes 1 à 20 et les colonnes A à P?

Je vous joins le fichier concerné.

Merci d'avance pour votre aide,

Jennifer

  • après avoir fait un filtre par date d'intervention, comment puis-je n'afficher que les feuilles dont la référence est le résultat du filtre?
  • comment puis-je imprimer les feuilles affichées (sans la feuille "Global") sachant que je ne dois imprimer que les lignes 1 à 20 et les colonnes A à P?

Bonjour Jennifer et bienvenue,

si la date d'intervention veut dire "Date de programmation"

à tester,

Sub Imprime()
Sheets("Global").Activate
With Sheets("Global").ListObjects("Tableau1")
        For Each lv In .DataBodyRange.SpecialCells(xlCellTypeVisible).Rows
          f = Cells(lv.Row, "A")
          Sheets(f).Activate
          With ActiveSheet.PageSetup
            .PrintArea = "$A$1:$P$20"
            .PaperSize = xlPaperA4  ' à adapter
            .Orientation = xlLandscape
            .FitToPagesWide = 1
            .FitToPagesTall = 1
          End With

          ActiveSheet.PrintPreview  'pour imprimer modifier .PrintPreview  par .PrintOut

          Sheets("Global").Activate
        Next
 End With
End Sub

merci beaucoup i20100,

Petite dernière question :

l'idée est de tout imprimer d'un coup, est ce qu'on peut modifier le code pour ne pas avoir à aller sur chaque page (aperçu) pour lancer l'impression?

j'ai une erreur quand je l'adapte à mon fichier...

dans le développeur Visual Basic, le ligne With Sheets("Global").ListObjects("Tableau1") est fluotée.

je suppose que ça à avoir avec la plage prise pour la sélection. j'ai essayé de renommer ma plage en Tableau1 mais ça ne fonctionne pas non plus.

==> J'ai réussi à le faire

Par contre sur mon fichier la zone d'impression (tout sur une seule page) ne fonctionne que sur le premier onglet imprimé

Bonjour i20100,

Merci encore pour votre aide sur mon fichier.

J'ai en revanche un petit souci pour l'impression :

  • l'aperçu sort 3 copies de chaque onglet à imprimer
  • la zone d'impression des onglets est bien définie mais à l'aperçu je dois sélectionner manuellement la zone à imprimer.

Pourriez vous m'apporter encore votre aide sur ces deux petits points svp?

Merci d'avance,

Jennifer

re,

cela fonctionne bien sur pc, désolé je n'ai pas de version mac pour le tester.

Bonjour, c’est bien sur pc que le doc est utilisé

Rechercher des sujets similaires à "afficher imprimer feuilles fonction donnees sources"