style entete en vba

D

david

Guest
Bonjour,

je voudrais savoir comment on peut modifier le style du texte affiché en entête d'une feuille excel, et ce en VBA. Je sais que depuis le menu "Fichier --> mise en page --> entete / pied de page, puis entete personnalisé, on dispose d'un outil de mise en forme.

Mais en vba, je n'ai pas trouvé de proprété ou méthode correspondante. J'ai essayé de metter en forme une cellule (.bold =true, .size = 12) et d'affecter sa "valeur" de la cellule à l'entête mais je perd la mise en forme.

Quelqu'un aurait-il une idée siou plaît? Merci

PS: Bravo pour le site, je tenais à le dire, si si je vous le dis.
 
C

CBernardT

Guest
Bonjour David

La macro d'impression d'une feuile de stock qui peut être facilement tranposable.
Dans le code, tu as une vérification de la décision d'imprimer (c'est pour les exités du click !) la déprotection de la feuille, la mise en place d'un logo en entête à gauche (ce logo doit être situé dans le même répertoire que le classeur actif), un titre au milieu d'entête et le nom de la feuille à droite.

Sub ImprimerStocks()
If ActiveSheet.Name = "Acceuil" Then Exit Sub
Application.ScreenUpdating = False
MyValue = MsgBox("Souhaitez-vous imprimer la feuille ?", vbYesNo + vbQuestion + vbDefaultButton2, "IMPRESSION DE FEUILLE")
If MyValue = vbNo Then Exit Sub
ActiveSheet.Unprotect
Range([C149], [C1000].End(xlUp).Offset(1, 0)).EntireRow.Hidden = True
With ActiveSheet.PageSetup
.PrintArea = Range("B2").CurrentRegion.Address
.LeftHeaderPicture.Filename = _
ActiveWorkbook.Path & "\" & "logo.gif"
.PrintTitleRows = "$2:$2"
.LeftHeader = "&G"
.CenterHeader = "&""Times New Roman,Gras""&25" & Chr(10) & "Gestions des Stocks"
.RightHeader = "&""Times New Roman,Gras""&25" & Chr(10) & ActiveSheet.Name
.CenterFooter = "Page &P de &N"
.LeftMargin = Application.InchesToPoints(0)
.RightMargin = Application.InchesToPoints(0)
.TopMargin = Application.InchesToPoints(2)
.BottomMargin = Application.InchesToPoints(0.5118)
.PrintGridlines = False
.Orientation = xlLandscape
.PaperSize = xlPaperA4
.FirstPageNumber = 1
.BlackAndWhite = True
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
.PrintErrors = xlPrintErrorsDisplayed
End With
ActiveSheet.PrintOut Copies:=1, Collate:=True
Range([C1000].End(xlUp).Offset(1, 0), [C149]).EntireRow.Hidden = False
ActiveSheet.PageSetup.PrintArea = ""
ActiveSheet.Protect
Range("A1").Select
Application.ScreenUpdating = True
End Sub

Cordialement

CBernardT
 

Discussions similaires

Réponses
8
Affichages
253

Statistiques des forums

Discussions
313 099
Messages
2 095 241
Membres
106 234
dernier inscrit
JESS97354