VBA - Initialiser mise en page

2 réponses
Avatar
ThierryP
Bonjour le forum,

En VBA, je fais la mise en page d'une feuille suivant les valeurs de certai=
nes variables : en-t=EAtes, pieds de page, marges etc.... Ca donne =E7=E0 e=
n raccourci :

Sub Mise_en_Page()
Application.ScreenUpdating =3D False
Zone_Utile =3D Range("A10:AW" & Range("I65000").End(xlUp).Row).Address
With ActiveSheet.PageSetup
.PrintArea =3D Feuil2.Range(Zone_Utile)
.PrintTitleRows =3D ActiveSheet.Range("$10:$10")
.LeftHeader =3D Range("R=E9f_Doc")
.CenterHeader =3D Range("Nom_Doc")
.RightHeaderPicture.Filename =3D _
"I:\Mod=E8les Documents Communs\Logos\logo couleur.jpg"
etc... etc...

Mons souci est qu'Excel refuse obstin=E9ment de tenir compte de la zone d'i=
mpression et de la ligne =E0 r=E9p=E9ter.....
Donc il m'imprime A1:AWxxx et ne veut rien savoir de plus!! Je peux modifie=
r tous les autres param=E8tres sans probl=E8me, ils sont bien pris en compt=
e, mais ni zone ni la ligne de titre ?????

Si quelqu'un a une petite id=E9e du pourquoi du comment de la chose..... mi=
lle mercis d'avance !

ThierryP

2 réponses

Avatar
MichD
Bonjour,


'------------------------------------------------------
Sub Mise_en_Page()
With Feuil1 ' Worksheets("Feuil1")
Zone_Utile = .Range("A10:AW" & .Range("I65000").End(xlUp).Row).Address
With .PageSetup
.PrintArea = Zone_Utile
.PrintTitleRows = Range("$10:$10").Address
.LeftHeader = Range("Réf_Doc")
.CenterHeader = Range("Nom_Doc")
End With
.RightHeaderPicture.Filename = _
"I:Modèles Documents CommunsLogoslogo couleur.jpg"


Application.EnableEvents = False
.PrintPreview 'Après test, tu remplaces par .PrintOut ...
Application.EnableEvents = True
End With

End Sub
'------------------------------------------------------
Avatar
ThierryP
Bonjour Denis,

En effet, j'avais supprimé ce message (je m'étais aperçu de mon erreu r de syntaxe), mais tu réponds toujours aussi rapidement !!!

Merci !

ThierryP

Le lundi 26 janvier 2015 18:27:46 UTC+1, MichD a écrit :
Bonjour,


'------------------------------------------------------
Sub Mise_en_Page()
With Feuil1 ' Worksheets("Feuil1")
Zone_Utile = .Range("A10:AW" & .Range("I65000").End(xlUp).Row).Addr ess
With .PageSetup
.PrintArea = Zone_Utile
.PrintTitleRows = Range("$10:$10").Address
.LeftHeader = Range("Réf_Doc")
.CenterHeader = Range("Nom_Doc")
End With
.RightHeaderPicture.Filename = _
"I:Modèles Documents CommunsLogoslogo couleur.jpg"


Application.EnableEvents = False
.PrintPreview 'Après test, tu remplaces par .PrintOut ...
Application.EnableEvents = True
End With

End Sub
'------------------------------------------------------