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 :
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) :
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
"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![]()
Partager