Bonsoir le forum,
j'essaie de définir la même zone d'impression pour douze feuilles (les 12 mois de l'année) sur les treize de mon classeur, j'ai donc essayé avec l'enregistreur de macro pour une feuille, ce qui me donne :
Code:
Sub Macro3()
Range("A1:M120").Select
ActiveSheet.PageSetup.PrintArea = "$A$1:$M$120"
End Sub
Mais je ne sais pas comment faire pour appliquer cette zone d'impression à mes douze feuilles...
Merci d'avance si vous pouvez me renseigner.
Re : macro pour définir la même zone d'impression pour 12 feuilles sur 13
Bonsoir
Tu fais une boucle comme ceci
for i =1 to sheets.count
if not sheets(i).name like "le nom de la feuille à exclure"
ActiveSheet.PageSetup.PrintArea = "$A$1:$M$120"
next
Cordialement
Flyonets
Re : macro pour définir la même zone d'impression pour 12 feuilles sur 13
Bonjour, libellule85, flyonets44, le Forum,
Peut-être ainsi :
VB:
Sub Zone_impression()
For Each ws In Worksheets
If ws.Name <> "TOTO" Then 'TOTO = onglet non concerné
ws.PageSetup.PrintArea = ""
ws.PageSetup.PrintArea = "$A$1:$M$120"
End If
Next
End Sub
Re : macro pour définir la même zone d'impression pour 12 feuilles sur 13
Bonsoir DoubleZéro,
Merci beaucoup pour ta réponse, une simple question ce code je le met où ? Dans le ThisWorkbook ? ou alors dans un module avec un bouton sur chaque feuille ?
Re : macro pour définir la même zone d'impression pour 12 feuilles sur 13
Re-bonjour ,
Nul besoin de bouton dans chaque onglet. Un bouton unique peut être positionné, par exemple, dans l'onglet non concerné par la macro. Dans ce cas, le code doit être placé dans un module.
Re : macro pour définir la même zone d'impression pour 12 feuilles sur 13
Re-bonjour,
Afin d'éviter la création d'un bouton, le code suivant peut être inséré dans ThisWorkbook :
VB:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
For Each ws In Worksheets
If ws.Name <> "TOTO" Then 'TOTO = onglet non concerné
ws.PageSetup.PrintArea = ""
ws.PageSetup.PrintArea = "$A$1:$g$20"
End If
Next
End Sub
Re : macro pour définir la même zone d'impression pour 12 feuilles sur 13
Re-bonjour,
Dans ce cas, peut-être ainsi :
Code:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Name <> "TOTO" Then 'TOTO = onglet non concerné
ws.PageSetup.PrintArea = ""
ws.PageSetup.PrintArea = "$A$1:$g$20"
End If
Next
End Sub
Re : macro pour définir la même zone d'impression pour 12 feuilles sur 13
re DoubleZéro, Bonsoir CC, mth,
Je te remercie CC pour ce tuto que je vais lire attentivement....
merci à vous tous pour votre aide vous êtes super et surtout très patient, merci
Bonne soirée