J'ai lu tous vos commentaires sur le sujet et je ne trouve pas la solution à mon pb (c'est vrai je code depuis peu). ça plante à la fin du code "Set sh = s"
Ma macro fonctionne jusqu'au moment où je lui demande de lancer l'impression dune feuille déterminée si son nom correspond bien dans une liste (suite à une boucle For). je ne sais pas encore manipuler l'objet WorkSheets avec le "Set sh = Worksheet()...
Si quelqu'un veut bien jetter un coup d'oeil, merci
Sub Print_Reporting_FIN()
'le but de la macro est d'imprimer des feuiles d'un classeur sans avoir à les ouvrir 1 par 1 (1feuille sur 3 dans un classeur de 88 onglets).
...... la variable "s" a été déclarée précédemment dans le code afin de stocker les Noms des Feuilles du classeur et elle remplie parfaitement cette fonction.......
wk.Activate
Dim y As Integer
Dim NomsFeuilles() As String
ReDim NomsFeuilles(1 To Worksheets.Count)
Dim sh As Worksheets
For y = 1 To Worksheets.Count
NomsFeuilles(y) = Worksheets(y).Name
If NomsFeuilles(y) = s Then
Worksheets(y).Name = s
'faire de sh la feuille à imprimer en rapprochant le nom stocké dans s
Set sh = s
'Application.ActivePrinter = "Nom de mon imprimante"
Application.ActivePrinter = "\\srv-IMP\IMP-SGE-GBL-1 sur Ne03:"
With Worksheets(sh)
.PageSetup.BlackAndWhite = False
.PrintOut
End With
DoEvents
Else
' "mon autre code, mais j'en ai pas ! :p"
End If
Next y
'¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Next xxx
'FERMER LE classeur
Application.DisplayAlerts = False
wk.Close
End Sub
'----------------------
31 mai 2012 à 17:15
ça marche nickel.
Bonne continuation...