Insérer un tableau dans l'en-tête

Bonjour,

est-il possible d'avoir un tableau dans l'en-tête d'un document Excel ??

Pourquoi cette demande ? Voici la situation :

j'ai un fichier Excel, composé d'une dizaine d'onglets, pour lesquels je dois avoir exactement le même en-tête.

(En tête comportant 3 colonnes par exemple : Logo de l'entreprise, Nom du document, Révision du document)

Chaque onglet est un tableau, différent dans sa composition (nombre de colonnes, taille de chaque colonne).

Puisque ils sont différents, il m'est impossible d'intégrer ce "Tableau en-tête" dans chaque onglet,

car il y aurait interférence avec les largeurs de colonnes de chaque tableau.

J'ai vu qu'une personne avait déjà posé cette question il y a quelques années,

mais sans réponse (https://forum.excel-pratique.com/post45696.html).

Quelqu'un aurait-il une idée ?

Bonjour

Tu peux créer une image de ton logo et de ton tableau à mettre en Entête et insérer ensuite cette image dans ton Entête, soit avec la commande Mise en page, soit par VBA.

Un Code trouvé sur le Net et que j'ai testé (Excel 2003) avec un Bandeau. Il insère l'image dans l'Entête de la Feuille active.

Sub insertionImage_EntetePage()  
    With ActiveSheet.PageSetup.LeftHeaderPicture
        .Filename = _
            "D:\Mes documents\Mes images\Bandeau.jpg"
        .Height = 1200 ' redéfinit la largeur de l'image
        .Width = 200 ' redéfinit la hauteur de l'image
    End With 
    'Remarque Il est nécessaire que « &G » fasse partie de la chaîne
    'de la propriété LeftHeader afin que l'image s'affiche dans l'en-tête gauche.
    'info issue de l'aide en ligne Excel.
    ActiveSheet.PageSetup.LeftHeader = "&G"
End Sub

Cordialement

Merci pour la réponse, mais je ne peux pas avoir ce tableau (que je veux en en-tête) sous forme d'image car des infos de ce tableau vont évoluer pendant l'utilisation du fichier. (Ex : La révision du fichier).

Il serait trop "lourd" de devoir modifier une image à l’extérieur du fichier dès que quelqu'un fait une modif dessus.

N'est-il pas possible d'insérer un vrai tableau dans l'en-tête ?

Bonjour

Peut-être avec ce code :

Sub EntetePage()
Dim i As Integer
For i = 1 To Sheets.Count 'pour toutes les feuilles
With Sheets(i).PageSetup.LeftHeaderPicture
        .Filename = "C:\Users\Nadine\Pictures\Logo.jpg" 'Chemin à modifier
        .Height = 40 ' redéfinit la largeur de l'image
        .Width = 80 ' redéfinit la hauteur de l'image
    End With
    Sheets(i).PageSetup.LeftHeader = "&G" & " - " & ActiveWorkbook.Name & " - " & Sheets("Feuil1").Range("C2")
    'Sheets(i).PageSetup.LeftHeader = "&G" & " - " & Sheets("Feuil1").Range("A2") & " - " & Sheets("Feuil1").Range("C2")
    Next i
End Sub

Donc tu dois avoir le logo dans un fichier.

Amicalement

Nad

Oui cela marche, mais mon problème n'est pas de remplir l'en-tête par macro,

c'est d'avoir un tableau.

Je souhaite avoir dans l'en-tête un tableau avec 3 colonnes et des traits de contour.

Mais ce n'est peut-être pas possible...

Re bonjour

Sur mon précédent message, je te disais de faire une photo de ton tableau...

Tu pourrais:

Sur une feuille Excel (autre que ton fichier) mettre ton logo et ton tableau et avec l'appareil photo excel créer une image de ce que tu souhaites mettre en entête et utiliser cette image pour cela.

Cordialement

bonjour

peut etre avec ce code que j'avais utilisé

'CODE POUR ALLER CHERCHER LA PLAGE DEFINIE EN A23 DE LA FEUILLE A

'

Application.ScreenUpdating = False

Sheets("BD").Select

Range(Sheets("BD").Range(Sheets("A").[a23]).Address).Copy

Sheets("A").Select

Range("A25").Select

ActiveSheet.Paste

Application.CutCopyMode = True

Range("A7").Select

a23 c'est ll'adresse du taleau

a25 c'est le coin sup droit ou tu colle

il faudra adapter

Amadéus a écrit :

Tu pourrais:

Sur une feuille Excel (autre que ton fichier) mettre ton logo et ton tableau et avec l'appareil photo excel créer une image de ce que tu souhaites mettre en entête et utiliser cette image pour cela.

Cordialement

Bonjour,

Je viens d'essayer cette fonction "Photo" que je ne connaissais pas du tout,

et c'est plutôt pas mal !! Je vais utiliser ça pour avoir le même tableau sur chaque onglet.

J'ai été surpris de constater que cette photo se met à jour si la source est modifiée ! +++

@tulipe_4 : Merci pour ton aide, mais ce que tu as proposé ne solutionne pas mon problème,

un copier/coller d'un tableau d'un onglet vers un autre ne peut pas marcher car les tableaux dans chaque onglet n'ont pas les mêmes formats de colonne. Le copier/coller serait donc "fouareux".

Merci à vous pour l'aide.

Bonjour à vous,

Je ne sais pas si se poste est encore ouvert mais je tente quand même.

j'ai suivis exactement toute la procédure, mais une fois "la photo" faite, est il t'il possible de la mettre en en-tête.

Car si on l'enregistre en image, les liens avec la source ne bouge plus automatiquement.

D'avance merci

Bonjour bilaben,

non il n'est pas possible de mettre l'image en en-tête, malheureusement.

par contre, si tu modifies "l'original" qui a servi à faire l'image, alors les images se mettent à jour automatiquement.

Si tu n'y arrives pas, joins ton fichier pour que l'on t'aide.

piratman a écrit :

Bonjour bilaben,

non il n'est pas possible de mettre l'image en en-tête, malheureusement.

par contre, si tu modifies "l'original" qui a servi à faire l'image, alors les images se mettent à jour automatiquement.

Si tu n'y arrives pas, joins ton fichier pour que l'on t'aide.

Merci de ta réponse, j'ai effectivement vu que l'image se mettait automatiquement à jours et cette solution est très bien malheureusement je voulais mettre cette image en en-tête car c'est un tableau qui devait me servir de cartouche.

Par contre, je me galère avec un code pour extraire automatiquement cette image et me la mettre en en-tête, cela fonctionne, par contre ne fonctionne que si une seul image se trouve dans mon fichier, je ne trouve pas la solution pour qu'il aille chercher l'image dans un onglet appelé par exemple "cartouche".

ci dessous mon code (je débute, donc il se peut que mon code soit brouillon)

Sub extraire_img()

Dim sh As Shape, img As Object

Dim ndf As String

For Each sh In ActiveSheet.Shapes

If Left(sh.Name, 1) <> "B" Then

ndf = Range(sh.TopLeftCell.Address).Offset(0, 1).Text

ndf = ActiveWorkbook.Path & "\" & ndf & "1.jpg"

sh.CopyPicture xlScreen, xlPicture

Set img = ActiveSheet.ChartObjects.Add(0, 0, sh.Width, sh.Height)

img.Chart.Paste

img.Chart.Export ndf, "JPG"

img.Delete

End If

Next sh

With ActiveSheet.PageSetup

.LeftHeader = ""

.CenterHeader = ""

.RightHeader = ""

With ActiveSheet.PageSetup.CenterHeaderPicture

.Filename = "D:\Utilisateurs\BBER\Downloads\BB02\1.jpg"

.Height = 10000.25

.Width = 1500.5

End With

.LeftFooter = ""

.CenterFooter = ""

.RightFooter = ""

.LeftMargin = Application.InchesToPoints(0.7)

.RightMargin = Application.InchesToPoints(0.7)

.TopMargin = Application.InchesToPoints(1.8)

.BottomMargin = Application.InchesToPoints(0.75)

.HeaderMargin = Application.InchesToPoints(0.3)

.FooterMargin = Application.InchesToPoints(0.3)

End With

ActiveSheet.PageSetup.CenterHeader = "&G"

End Sub

Je suis désolé mais sur cette dernière question, je ne pourrai t'aider. Mais la solution m'intéresse !

J'espère qu'un maître d'Excel va te venir en aide !

Rechercher des sujets similaires à "inserer tableau tete"