IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Macro word : marge - style - en tête et pied de page


Sujet :

VBA Word

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Novembre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Macro word : marge - style - en tête et pied de page
    Bonjour,

    J'aurai besoin d'un coup demain pour programmer une macro sur Word 2010.

    L'idée générale est que je veux changer de charte graphique, je veux donc appliquer une macro à mon document initial afin de changer des éléments important de charte graphique
    pour:
    - changer les marges
    - appliquer un jeu de stylse déjà enregistré
    - supprimer toutes les en têtes et pied de page et faire que les options :
    - "première page différente" soit décochée
    - "lier au précédent" soit cochée
    Pour tous les en têtes et pied de page du document.

    Je m'y connait qu'assez peu en VBA, et j'ai rédigé/compilé cette macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     Sub charte_espelia()
    '
    ' charte_espelia
    '
    'mise en page et marge
     
        With ActiveDocument.Styles(wdStyleNormal).Font
            If .NameFarEast = .NameAscii Then
                .NameAscii = ""
            End If
            .NameFarEast = ""
        End With
        With ActiveDocument.PageSetup
            .LineNumbering.Active = False
            .Orientation = wdOrientPortrait
            .TopMargin = CentimetersToPoints(3.5)
            .BottomMargin = CentimetersToPoints(2)
            .LeftMargin = CentimetersToPoints(2)
            .RightMargin = CentimetersToPoints(1.5)
            .Gutter = CentimetersToPoints(0)
            .HeaderDistance = CentimetersToPoints(0.5)
            .FooterDistance = CentimetersToPoints(0.62)
            .PageWidth = CentimetersToPoints(21)
            .PageHeight = CentimetersToPoints(29.7)
            .FirstPageTray = wdPrinterDefaultBin
            .OtherPagesTray = wdPrinterDefaultBin
            .SectionStart = wdSectionNewPage
            .OddAndEvenPagesHeaderFooter = False
            .DifferentFirstPageHeaderFooter = True
            .VerticalAlignment = wdAlignVerticalTop
            .SuppressEndnotes = False
            .MirrorMargins = False
            .TwoPagesOnOne = False
            .BookFoldPrinting = False
            .BookFoldRevPrinting = False
            .BookFoldPrintingSheets = 1
            .GutterPos = wdGutterPosLeft
        End With
     
    'appliquer le jeu de style et couleur
     
        ActiveDocument.ApplyQuickStyleSet2 ("espelia")
     
    'supprimer en tete et pied de page
     
    For Each S In ActiveDocument.Sections
     
    'premiere page différente
     
        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 = wdSeekMainDocument
     
    'lier au precedent
     [COLOR=#ff0000]Selection.HeaderFooter.LinkToPrevious = Not Selection.HeaderFooter. _
            LinkToPrevious 
        ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
     
    For Each F In S.Footers
    F.Range.Delete
    Next F
    Next S
     
    For Each S In ActiveDocument.Sections
    For Each F In S.Headers
    F.Range.Delete
    Next F
    Next S
     
    End Sub
    Or le Message d'erreur suivant s'affiche pour le réglage des options d'en tête (partie de la macro rédigée en Rouge) :
    "Erreur d'exécution '91' Variable objet ou variable de bloc With non définie ".

    Si vous avez un retour critique, ou des explications et solutions ça me serait très utile !


    Merci d'avance.

    Jay Be

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    L'erreur 91 survient quand on affecte un objet qui n'existe pas à une variable.
    Par exemple, accéder au 10ième signet d'un document alors qu'il n'en contient que 9.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. en-tête et pied de page dans Word depuis Excel
    Par fabfaz dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/04/2008, 20h28
  2. Réponses: 1
    Dernier message: 10/06/2007, 20h58
  3. [Impression] JTable avec en-tête et pied de page
    Par CheryBen dans le forum Composants
    Réponses: 4
    Dernier message: 28/09/2005, 09h03
  4. [OLE / Word] Ecriture sur en tete et pied de page
    Par Mijakely dans le forum VBA Word
    Réponses: 1
    Dernier message: 10/08/2005, 14h39
  5. [word et html]insertion d'un pied de page.....
    Par Nadine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 23/06/2005, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo