Re:
bon je viens de faire un essai et ca à l'air de fonctionner
si tu veux, Sheets(Array("Feuil1","Feuil2","Feuil3")).printout
fonctionne tres bien, mais (il y en a toujour un) ton nombre de feuilles à imprimer n'est pas defini, tu vas de la 2eme à la derniere -1
je n'ai pas trouvé comment affecter une table à la place de Array, plein d'essais, plein d'echec
alors j'ai fait autrement, j'ai fait une macro qui crée l'odre Sheets(Array( et qu'il l'inserre directement dans le code de la macro vide, ensuite elle lance cette macro
Alors tous les details sont improtants : Creer un Module Standard et le nommer gw_imp (pas de majuscule)
ensuite faire un copier coller du code ci-dessous
Sub lance_imp()
Dim ordre As String, ligne As Long
ordre = "Sheets(Array("
For i = 2 To Sheets.Count - 2
If i > 1 Then ordre = ordre & ","
ordre = ordre & Chr(34) & Sheets(i).Name & Chr(34)
Next i
ordre = ordre & ")).PrintOut"
With ThisWorkbook.VBProject.VBComponents("gw_imp").CodeModule
For ligne = 1 To .CountOfLines
If .Lines(ligne, 1) = "Sub imprim()" Then .InsertLines ligne + 1, ordre: Exit For
Next ligne
Call imprim
.DeleteLines ligne + 1, 1
End With
End Sub
Sub imprim()
End Sub
ensuite lier ton bouton à la macro lance_imp
Cordialement
Wilfried