Créer des entêtes et pied de page pour word avec une macro

titoi2 Messages postés 6 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 17 novembre 2005 - 24 juin 2004 à 11:17
titoi2 Messages postés 6 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 17 novembre 2005 - 24 juin 2004 à 11:58
Salut tous le monde

Je viens juste de découvrir Visual Basic à l'aide de word dans le cadre de mon travail et je ne sais pas comment faire pour créer des entêtes et des pieds de page.
Si quelqu'un sait également comment faire pour accéder à ces entêtes lorsqu'ils sont déjà créés et comment faire pour insérer un saut de section.

Merci d'avance à vous tous.

2 réponses

cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
24 juin 2004 à 11:49
salut,

quand je veux travailler avec word et ses composants, je crée des macros et les sauvegarde. Ces macro, t'ecrivent un code pour accéder a divers "trucs" dans word, tu peux recuperer le texte de tes macros via visual-basic editor et le copier dans des evnements tel que le click d'un bouton, ou bien même faire un appel de la macro ( Call marco2). elle sera executée. c'est ainsi que je peux récupérer la macro qui me met des entetes et pied de page, j'ai aussi crée un bouton:

Private Sub CommandButton1_Click()
Call macro2
End Sub

Sub Macro2()
'
' Macro2 Macro
'
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.TypeText Text:="32321321213"
    If Selection.HeaderFooter.IsHeader = True Then
        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Else
        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    End If
    Selection.TypeText Text:="poipoipoi"
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub


ou bien alors ce qui revient au même, j'ai supprimé la macro tout en copier le code dans bouton directement et dans l'evenement click
Private Sub CommandButton1_Click()
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Selection.TypeText Text:="32321321213"
    If Selection.HeaderFooter.IsHeader = True Then
        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Else
        ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    End If
    Selection.TypeText Text:="poipoipoi"
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub

Bien évidement, je n'arriverais pas, ou je mettrais du temps pour programmer dans word même avec VB6 si je n'avais pas cette aide.

tout se passe de la même manière même pour les sauts de pages

Sub Macro1()
'
' Macro1 Macro
'
    Selection.InsertBreak Type:=wdPageBreak
End Sub


bonne prog
liquide
0
titoi2 Messages postés 6 Date d'inscription jeudi 24 juin 2004 Statut Membre Dernière intervention 17 novembre 2005
24 juin 2004 à 11:58
Merci beaucoup
0
Rejoignez-nous