• Initiateur de la discussion Initiateur de la discussion david
  • 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 !

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.
 
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
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour