Personnaliser un classeur Excel à partir d'une fonction Visual Basic

Publié le 16 février 2010 par Mibenlamine

Cet article vient compléter le billet précédent puisqu'il s'agit ici d'aller encore plus loin dans la personnalisation du classeur Excel.
En effet, après le renommage massif des feuilles du fichier en question, nous attaquerons, cette fois-ci, les volets suivants :
- Répéter une en-tête particulière sur chaque page de chaque feuille du classeur (N.D.L.R : possible manuellement mais pour une seule feuille à la fois),
- Ajouter un bas de page du style (Page : .../…),


- Définir l’impression du classeur sur le mode portrait et le format A4.
Le principe reste le même que dans l'article précédent à savoir : le recours à une fonction Visual Basic que j'ai, cette fois-ci, nommée "PersonnaliserClasseur".
Le code de cette fonction est le suivant :
Sub PersonnaliserClasseur()

Dim i As Integer
i = 1
 
Dim NombreFeuilles As Integer
NombreFeuilles = Worksheets.Count
 
While i <= NombreFeuilles
 
Sheets(i).PageSetup.PrintTitleRows = "$1:$12" ' L'en-tête à répéter sur chaque page de chaque feuille du classeur correspond aux 12 premières lignes de chaque feuille

Sheets(i).PageSetup.RightFooter = "&""Arial,Italique""Page : &P/&N" ' La définition du pied de page (pagination)

Sheets(i).PageSetup.Orientation = xlPortrait

Sheets(i).PageSetup.PaperSize = xlPaperA4

Sheets(i).PageSetup.FirstPageNumber = xlAutomatic

Sheets(i).PageSetup.Zoom = 100

Sheets(i).PageSetup.BottomMargin = Application.InchesToPoints(0.78740157480315) ' La marge du bas de page a été fixée à 2 cm afin d'afficher correctement la pagination

i = i + 1

Wend
End Sub

Pour intégrer cette fonction à votre fichier Excel, il vous suffit de suivre la procédure expliquée dans le billet précédent.

P.S
: Cette démarche est opérationnelle sous EXCEL 97-2003 et EXCEL 2007.
Merci d'avance pour vos retours.