Macro imprimer plusieurs feuilles

good57

XLDnaute Occasionnel
Bonjour,
Je voudrais créer une macro qui sélectionne plusieurs feuilles de mon classeur pour en faire un aperçu avant impression.
Mais la zone d'impression de chacune des feuilles diffère.

Sur chaque feuille, je souhaite définir une zone d'impression "par défaut" qui imprime les lignes 1 à 19.
Et SI la cellule A20<>0, ALORS, la zone d'impression devient 1 à 40.

J'espère que mon problème est assez clair !

Merci :)
 

Pièces jointes

  • Impression multiples.xlsm
    20.3 KB · Affichages: 60

CBernardT

XLDnaute Barbatruc
Re : Macro imprimer plusieurs feuilles

Bonjour good57 et le Forum,

Teste cette syntaxe :

Sub IMPRIM()
With Sheets("Feuil1")
If .Range("A20") <> 0 Then .PageSetup.PrintArea = "$A$1:$G$40" Else .PageSetup.PrintArea = "$A$1:$G$19"
End With

With Sheets("Feuil2")
If .Range("A20") <> 0 Then .PageSetup.PrintArea = "$A$1:$G$40" Else .PageSetup.PrintArea = "$A$1:$G$19"
End With

With Sheets("Feuil3")
If .Range("A20") <> 0 Then .PageSetup.PrintArea = "$A$1:$G$40" Else .PageSetup.PrintArea = "$A$1:$G$19"
End With

Sheets(Array("Feuil1", "Feuil2", "Feuil3")).PrintPreview

End Sub
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro imprimer plusieurs feuilles

Bonjour à tous,

avec ce code:
Code:
Sub IMPRIM()
Sheets(1).PageSetup.PrintArea = "$A$1:$G$" & IIf(Sheets(1).[A20] = "", 19, 40)
Sheets(2).PageSetup.PrintArea = "$A$1:$G$" & IIf(Sheets(2).[A20] = "", 19, 40)
Sheets(3).PageSetup.PrintArea = "$A$1:$G$" & IIf(Sheets(3).[A20] = "", 19, 40)
Sheets(Array(1, 2, 3)).PrintPreview
End Sub

à+
Philippe
 

good57

XLDnaute Occasionnel
Re : Macro imprimer plusieurs feuilles

Bah si .... ?! Moi pas comprendre ...

Sheets("Feuil1").PageSetup.PrintArea = "$A$1:$G$" & IIf(Range("A20").Value = "", 19, 40)
Sheets("Feuil2").PageSetup.PrintArea = "$A$1:$G$" & IIf(Range("A20").Value = "", 19, 40)
Sheets("Feuil3").PageSetup.PrintArea = "$A$1:$G$" & IIf(Range("A20").Value = "", 19, 40)


Sheets(Array("Feuil1", "Feuil2", "Feuil3")).PrintPreview
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro imprimer plusieurs feuilles

Re,

Mais non, il tu ne tenais pas compte des différentes feuilles,

Sheets("Feuil1").PageSetup.PrintArea = "$A$1:$G$" & IIf(Range("A20").Value = "", 19, 40)
Sheets("Feuil2").PageSetup.PrintArea = "$A$1:$G$" & IIf(Range("A20").Value = "", 19, 40)
Sheets("Feuil3").PageSetup.PrintArea = "$A$1:$G$" & IIf(Range("A20").Value = "", 19, 40)


Sheets("Feuil1").PageSetup.PrintArea = "$A$1:$G$" & IIf(Sheets("Feuil1").Range("A20").Value = "", 19, 40)
Sheets("Feuil2").PageSetup.PrintArea = "$A$1:$G$" & IIf(Sheets("Feuil2").Range("A20").Value = "", 19, 40)
Sheets("Feuil3").PageSetup.PrintArea = "$A$1:$G$" & IIf(Sheets("Feuil3").Range("A20").Value = "", 19, 40)

à+
Philippe
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro imprimer plusieurs feuilles

Re,

dans la réponse que je t'ai apportée;

Sheets(1).PageSetup.PrintArea = "$A$1:$G$" & IIf(Sheets(1).[A20] = "", 19, 40)
Sheets(2).PageSetup.PrintArea = "$A$1:$G$" & IIf(Sheets(2).[A20] = "", 19, 40)
Sheets(3).PageSetup.PrintArea = "$A$1:$G$" & IIf(Sheets(3).[A20] = "", 19, 40)

à+
Philippe
 

Discussions similaires

Statistiques des forums

Discussions
312 193
Messages
2 086 061
Membres
103 110
dernier inscrit
Privé