Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro imprimer plusieurs feuilles

  • Initiateur de la discussion Initiateur de la discussion good57
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

L
Réponses
8
Affichages
1 K
Réponses
2
Affichages
626
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…