Déploiement entete et pieds de page sur plusieurs feuilles

Bonjour à tous,

Je suis nouveau sur le forum mais je viens souvent m'enrichir en connaissance sur Excel.

Je suis actuellement en train de faire un macro pour me simplifier la vie (je débute en macro mais je comprend assez rapidement) mais je bloque sur le fonctionnement de ma macro.

voici mes besoins.

Je voudrais faire une macro me permettant de récupérer les données de plusieurs cellules identifiés sur une feuille (page de garde) et diffuser ces données dans les entêtes et pieds de page des autres feuilles sauf pour quelques unes identifiés également (la page de garde nommé "PDG" et "XselectX" qui sera une feuille avec des boutons de sélection).

J'ai donc effectué ce code qui ne plante pas mais qui ne marche par non plus.

Private Sub tetes_de_pages_Click()

Dim WorkRng1 As Range
Dim WorkRng2 As Range
Dim WorkRng3 As Range
Dim WorkRng4 As Range
Dim WorkRng5 As Range
Dim WorkRng6 As Range

On Error Resume Next

Set WorkRng1 = Sheets("PDG").Selection.Range("AL2")
Set WorkRng2 = Sheets("PDG").Selection.Range("AM2")
Set WorkRng3 = Sheets("PDG").Selection.Range("AO2")
Set WorkRng4 = Sheets("PDG").Selection.Range("AL4")
Set WorkRng5 = Sheets("PDG").Selection.Range("AM4")
Set WorkRng6 = Sheets("PDG").Selection.Range("AN4")

For Each Worksheet In Application.ActiveWorkbook.Worksheets
    If Worksheet.Name <> "PDG" And "XselectX" Then
        Worksheet.PageSetup.LeftHeader = WorkRng1.Range("AL2").Value
        Worksheet.PageSetup.CenterHeader = WorkRng2.Range("AM2").Value
        Worksheet.PageSetup.RightHeader = WorkRng3.Range("AO2").Value
        Worksheet.PageSetup.LeftFooter = WorkRng4.Range("AL4").Value
        Worksheet.PageSetup.CenterFooter = WorkRng5.ange("AM4").Value
        Worksheet.PageSetup.RightFooter = WorkRng6.Range("AN4").Value
     End If

Next

End Sub
si quelqu'un pourrait m'éclairer sur mon erreur.

Merci par avance et bonne soirée à tous.

Bonjour Laugau77 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum
- Quelques fonctionnalités du forum à connaître
qui vous aideront dans vos demandes et réponses sur ce forum.

Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)

Concernant votre demande,
1) Vous ne devez pas utiliser d'instruction VBA comme variable (Worksheet)
2) Un double test se fait avec double instruction

Voici le code

Private Sub tetes_de_pages_Click()
  Dim Sht As Worksheet
  Dim LibEnt(6) As String
  ' Avec l'objet conteneur
  With Sheets("PDG")
    LibEnt(1) = .Range("AL2")
    LibEnt(2) = .Range("AM2")
    LibEnt(3) = .Range("AO2")
    LibEnt(4) = .Range("AL4")
    LibEnt(5) = .Range("AM4")
    LibEnt(6) = .Range("AN4")
  End With
  ' Pour chaque feuille du classeur
  For Each Sht In ThisWorkbook.Worksheets
    ' Si le nom est différent de XX ou différent de YY
    'If Sht.Name <> "PDG" And Sht.Name <> "XselectX" Then
    ' Ou alors en plus simple
    If InStr(1, "PDG,XselectX", Sht.Name) = 0 Then
      ' Avec l'objet PageSetup de la feuille
      With Sht.PageSetup
        .LeftHeader = LibEnt(1)
        .CenterHeader = LibEnt(2)
        .RightHeader = LibEnt(3)
        .LeftFooter = LibEnt(4)
        .CenterFooter = LibEnt(5)
        .RightFooter = LibEnt(6)
      End With
    End If
  Next
End Sub

Merci pour votre participation

Cordialement

Bonjour BrunoM45

Merci pour ton retour et ton aide sur la macro. cela fonctionne super bien.

Pour mon apprentissage, peux tu me dire les significations et fonctions des éléments du code ?

- LibEnt

- InStr

En te remerciant par avance pour ton retour.

Re,

"LibEnt" est une variable tableau pour mémoriser les entêtes et pied de page de la feuille "PDG"

IntStr() est une fonction VBA qui permet de rechercher un terme dans une expression texte et qui retourne l'emplacement ou le terme est trouvé

J'espère que ce sera plus clair

A+

Rechercher des sujets similaires à "deploiement entete pieds page feuilles"