Comment ajouter une couleur d'arrière-plan aux en-têtes ou pieds de page dans une feuille Excel lors de l'impression ?
Comme nous le savons, nous pouvons ajouter du texte ou une image à l'en-tête ou au pied de page d'une feuille, qui s'affichera lors de l'impression. Mais avez-vous déjà essayé d'ajouter une couleur d'arrière-plan aux en-têtes ou pieds de page ? En réalité, il n'existe aucune fonction intégrée pour cela, mais je vais vous présenter quelques méthodes détournées pour réaliser cette opération.
Ajouter une couleur d'arrière-plan à l'en-tête et au pied de page avec VBA
Ajouter une couleur d'arrière-plan à l'en-tête ou au pied de page avec la fonction Couleur de remplissage
1. Cliquez sur Mise en page > Mise en page.
2. Dans la fenêtre Mise en page sous l'onglet Marges saisissez 0 dans les champs Haut, En-tête, Bas et Pied de page texte.
3. Cliquez sur OK. Ensuite, sélectionnez la première ligne et cliquez sur Accueil > Fusionner et centrer.
3. Poursuivez en sélectionnant une couleur depuis la liste Couleur de remplissage pour ajouter une couleur d'arrière-plan aux cellules fusionnées.
4. Répétez les étapes 2 et 3 pour ajouter une couleur d'arrière-plan à la ligne de pied de page souhaitée.
Maintenant, la page semble avoir ajouté une couleur d'arrière-plan à l'en-tête et au pied de page.
Ajouter une couleur d'arrière-plan à l'en-tête et au pied de page avec VBA
Voici un code VBA qui peut rapidement ajouter une couleur d'arrière-plan à l'en-tête et au pied de page simultanément.
1. Appuyez sur Alt + F11 pour activer la fenêtre Microsoft Visual Basic for Applications.
2. Cliquez sur Insertion > Module, copiez et collez le code ci-dessous dans le nouveau module.
VBA : Ajouter une couleur d'arrière-plan à l'en-tête et au pied de page
Sub FakeHeaderFooter()
'UpdatebyExtendoffice20180628
Dim I, J As Long
Dim xRg As Range
Dim xRow, xCol As Long
Dim xRows, xCols As Long
Dim xDivRow, xDivCol As Long
Dim xTopArr, xButtArr As Variant
Dim PageSize1, PageSize2 As Integer
On Error Resume Next
xTopArr = Array("Top Left", "", "", "Top Center", "", "", "", "")
xButtArr = Array("Bottom Left", "", "", "Bottom Center", "", "", "", "")
PageSize1 = 46
PageSize2 = 8
With ActiveSheet.PageSetup
.TopMargin = Application.InchesToPoints(0)
.BottomMargin = Application.InchesToPoints(0)
.HeaderMargin = Application.InchesToPoints(0)
.FooterMargin = Application.InchesToPoints(0)
.BlackAndWhite = False
End With
Set xRg = ActiveSheet.UsedRange
If xRg Is Nothing Then Exit Sub
xRows = xRg(xRg.Count).Row
xCols = xRg(xRg.Count).Column
If xRows < 46 Then xRows = 46
If xCol < 8 Then xCol = 8
xDivRow = Int(xRows / PageSize1)
xDivCol = Int(xCols / PageSize2)
If ((xRows Mod PageSize1) > 0) And (xDivRow <> 0) Then xDivRow = xDivRow + 1
If ((xCols Mod PageSize2) > 0) And (xDivCol <> 0) Then xDivCol = xDivCol + 1
If xDivRow = 0 Then xDivRow = 1
If xDivCol = 0 Then xDivCol = 1
Set xRg = Range("A1").Resize(xDivRow * PageSize1, xDivCol * PageSize2)
xRow = 1
xCol = 1
Cells.PageBreak = xlPageBreakNone
For I = 1 To xDivRow * PageSize1 Step PageSize1 + 1
For J = 1 To xDivCol * PageSize2 Step PageSize2
Cells(I, J).Resize(1, PageSize2) = xTopArr
Cells(I, J).Resize(1, PageSize2).Interior.ColorIndex = 34
Cells(I + PageSize1, J).Resize(1, PageSize2) = xButtArr
Cells(I + PageSize1, J).Resize(1, PageSize2).Interior.ColorIndex = 34
Rows(I + PageSize1 + 1).PageBreak = xlManual
Columns(J + PageSize2).PageBreak = xlManual
Next
Next
End Sub
3. Appuyez sur F5 pour exécuter le code, puis une certaine couleur d'arrière-plan sera ajoutée à la première ligne et à la 47ème ligne de chaque feuille, qui apparaîtra comme des en-têtes et pieds de page fictifs.
Remarque : dans le code, vous pouvez modifier les scripts suivants pour répondre à vos besoins.
1. Modifiez le contenu des en-têtes et pieds de page selon vos besoins dans la chaîne de caractères :
xTopArr = Array("En haut à gauche", "", "", "Au centre en haut", "", "", "", "")
xButtArr = Array("En bas à gauche", "", "", "Au centre en bas", "", "", "", "")
2. Modifiez l'index de la couleur d'arrière-plan dans cette chaîne :
Cells(I, J).Resize(1, PageSize2).Interior.ColorIndex = 34
Cells(I + PageSize1, J).Resize(1, PageSize2).Interior.ColorIndex = 34
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !