EN TETE FEUILLE PAR UN SOMMAIRE

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

M

Mel18

Guest
Bonjour,

Novice dans Excel, besoin d'aide.

Je créé un fichier
Dans la première page "Sommaire" ==> celle sert à renvoyer aux autres pages
Et mes pages de travail aprés.

Je voudrais pouvoir sur les pages de travail ("hors sommaire"), que cela me mette automatiquement dans l'entête de chaque feuilles ce que j'ai mis dans mon tableau sommaire
c'est à dire à droite la référence de la feuille et au milieu le nom de la feuille indiquée dans le tableau sommaire dans la colonne B (en faisant une recherche...)

Je mets ma feuille d'essai en pièce jointe.

Merci de votre aide.

Bonne fin de journée et WE.
 

Pièces jointes

Bonjour.
Si j'ai mieux compris, dans Feuil1 (SOMMAIRE) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim T(), L&
T = Me.[A3].CurrentRegion.Value
For L = 2 To UBound(T)
    With ThisWorkbook.Worksheets(L).PageSetup
        .LeftHeader = T(L, 1)
        .CenterHeader = T(L, 2)
        .RightHeader = T(L, 3)
        End With: Next L
End Sub
Ou bien :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim L&: L = Target.Row: If L < 4 Then Exit Sub
Select Case Target.Column
   Case 1: ThisWorkbook.Worksheets(L - 2).PageSetup.LeftHeader = Target.Value
   Case 2: ThisWorkbook.Worksheets(L - 2).PageSetup.CenterHeader = Target.Value
                 ThisWorkbook.Worksheets(L - 2).Name = Target.Value
   Case 3: ThisWorkbook.Worksheets(L - 2).PageSetup.RightHeader = Target.Value
   End Select
End Sub
 
Dernière édition:
Bonjour,
une proposition en pj si j'ai bien compris
Cordialement
Bonjour, Merci à vous mais je voudrais que ca me mette les éléments dans l'en tête de la feuille.

Bonjour.
Si j'ai mieux compris, dans Feuil1 (SOMMAIRE) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim T(), L&
T = Me.[A3].CurrentRegion.Value
For L = 2 To UBound(T)
    With ThisWorkbook.Worksheets(L).PageSetup
        .LeftHeader = T(L, 1)
        .CenterHeader = T(L, 2)
        .RightHeader = T(L, 3)
        End With: Next L
End Sub
Ou bien :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim L&: L = Target.Row: If L < 4 Then Exit Sub
Select Case Target.Column
   Case 1: ThisWorkbook.Worksheets(L - 2).PageSetup.LeftHeader = Target.Value
   Case 2: ThisWorkbook.Worksheets(L - 2).PageSetup.CenterHeader = Target.Value
                 ThisWorkbook.Worksheets(L - 2).Name = Target.Value
   Case 3: ThisWorkbook.Worksheets(L - 2).PageSetup.RightHeader = Target.Value
   End Select
End Sub


Merci pour votre réponse, mais cela ne fonctionne pas, et comme je suis une débutante, je n'arrive pas à voir ce qui cloche...
:-(

Merci à tous
 
Bonjour.
Joignez le classeur que je voie comment vous l'avez appliqué.
Je ne peux pas savoir par exemple, si vous ne l'auriez pas mis dans un module standard au lieu de le mettre dans le module objet attaché à l'objet Worksheet de la rubrique Microsof Excel Objets nommé Feuil1, lequel représente la feuille SOMMAIRE.
 
- 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