[VBA Excel] Sélection multiple de feuilles

Fermé
aurelielau - 8 juin 2006 à 14:12
 WellDone - 1 juin 2007 à 16:29
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
A voir également:

3 réponses

deus Messages postés 93 Date d'inscription mercredi 20 novembre 2002 Statut Membre Dernière intervention 24 mai 2007 91
8 juin 2006 à 15:47
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

0
Kobaya Messages postés 282 Date d'inscription vendredi 28 mai 2004 Statut Membre Dernière intervention 10 janvier 2008 214
8 juin 2006 à 17:15
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


0
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
0