[VBA Excel] Sélection multiple de feuilles
Fermé
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
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:
- [VBA Excel] Sélection multiple de feuilles
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Si et excel - Guide
- Fusionner feuilles excel - Guide
- Word et excel gratuit - Guide
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
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
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
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
8 juin 2006 à 17:15
salut,
pour continuer sur la lancée de deus, une boucle avec For Each Next est une solution possible :
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