Formule excel donnant la valeur de " sheets(x).PageSetup.CenterHeader"

Guy_M

XLDnaute Occasionnel
Bonjour,

Existe-t-il une formule Excel permettant de récupérer la valeur "Sheets(x).PageSetup.CenterHeader" ?

Je peut faire ça par via une fonction vba mais avant je souhaite savoir si la formule existe pour éviter de rédiger la macro adéquate.

Par avance, je vous remercie de vos réponses.

A bientôt
Guy
 

Guy_M

XLDnaute Occasionnel
Re : Formule excel donnant la valeur de " sheets(x).PageSetup.CenterHeader"

Merci job75

Comme il ne semble pas exister d'équivalent à INDIRECT en VBA, je me suis résolu à écrire cette petite macro que je mets à votre disposition si cela vous intéresse :
Code:
'Cette fonction lit pour la feuille passée en paramètre, la partie H de l'entête (V="Header") ou du pied de page (V="Footer") passé en paramètre
Public Function LireTetePiedPage(Feuille As String, V As String, H As String) As String
Const PosHeader = "Header"
Const PosFooter = "Footer"
Const PosLeft = "Left"
Const PosRight = "Right"
Const PosCenter = "Center"

'Verification de l'existence de la feuille
    If Not FeuilleExiste(Feuille, ActiveWorkbook) Then
     LireTetePiedPage = "Erreur : """ & Feuille & """ n'est pas connue"
     Exit Function
    End If

'S'il y a une erreur dans les valeurs de V et H la valeur retournées est "Position inconnue"
LireTetePiedPage = """" & V & """ et """ & H & """ sont des positions inconnues."
    
    With Sheets(Feuille).PageSetup
        Select Case V
        Case PosHeader
            Select Case H
               Case PosLeft
                   LireTetePiedPage = .LeftHeader
               Case PosCenter
                   LireTetePiedPage = .CenterHeader
               Case PosRight
                   LireTetePiedPage = .RightHeader
            End Select
        Case PosFooter
            Select Case H
               Case PosLeft
                   LireTetePiedPage = .LeftFooter
               Case PosCenter
                   LireTetePiedPage = .CenterFooter
               Case PosRight
                   LireTetePiedPage = .RightFooter
            End Select
        End Select
    End With

End Function

l'appel est simple dans une cellule mettre par exemple
Code:
=LireTetePiedPage("NomD_UneFeuille";"Header";"Center")

A bientôt
Guy
 

Discussions similaires

Statistiques des forums

Discussions
312 677
Messages
2 090 823
Membres
104 677
dernier inscrit
soufiane12