[VBA Excel] Sélection multiple de feuilles

Bonjour,
je suis débutante en VBA et je voudrais imprimer une sélection multiple de feuilles dont le nom commence par "Graph".
Le soucis c'est que j'aimerais que ca lance directement la totalité des impressions, et non une feuille à la fois.

J'espère que vous pourrez m'éclairer sur ce point,
merci d'avance

3 réponses

  1. Bonjour,

    Si le nom des feuilles est tjs le même (donc pas dynamique) tu peux essayer qqchose comme :
    "
    Sub PrintReport()
    '
    Dim AdobePrinter As String

    Sheets(Array("R_Volume", "R_Number")).Select
    Sheets("R_Volume").Activate
    AdobePrinter = GetFullNetworkPrinterName("Adobe PDF")
    Application.ActivePrinter = AdobePrinter
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
    AdobePrinter, Collate:=True
    End Sub
    "

    R_Number, R_Volume étant le nom des tes feuilles
    et AdobePrinter le nom de ton imprimante

    1. salut,

      pour continuer sur la lancée de deus, une boucle avec For Each Next est une solution possible :

      Sub PrintReport()
          Dim wshFeuille      As Worksheet
          Dim AdobePrinter    As String
          
          Sheets(Array("R_Volume", "R_Number")).Select
          Sheets("R_Volume").Activate
          
          For Each wshFeuille In ActiveWorkbook.Sheets
              If Left(wshFeuille.Name, 5) = "Graph" Then
                  AdobePrinter = GetFullNetworkPrinterName("Adobe PDF")
                  Application.ActivePrinter = AdobePrinter
                  ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:=AdobePrinter, Collate:=True
              End If
          Next
      End Sub
      


      1. et si le nom des feuilles est dynamique et que je souhaite passer par un sheets(array(...)).select, etc... pour gagner en rapidité, car il s'agit de faire un transfert et une suppression de bcp de feuilles graphiques, comment faire sans passer par une boucle si possible ?
        Merci