Petite Macro VBA
j’inaugure une nouvelle catégorie de page de programmation : les pages VBA.
Ma première macro pratique : créer une une liste des titres ordonnées par ordre alphabétique.
Sub index_par_titre()
Selection.EndKey Unit:=wdStory
With ActiveDocument
.TablesOfContents.Add Range:=Selection.Range, RightAlignPageNumbers:= _
True, UseHeadingStyles:=True, UpperHeadingLevel:=1, _
LowerHeadingLevel:=3, IncludePageNumbers:=True, AddedStyles:="", _
UseHyperlinks:=True, HidePageNumbersInWeb:=True, UseOutlineLevels:= _
True
Set aa = .TablesOfContents
.TablesOfContents(1).TabLeader = wdTabLeaderDots
.TablesOfContents.Format = wdIndexIndent
End With
Set aa = aa(aa.Count)
aa.Range.Select
Selection.Fields.Unlink
Selection.Font.UnderlineColor = wdColorAutomatic
Selection.Font.Underline = wdUnderlineNone
Selection.Sort ExcludeHeader:=False, FieldNumber:="Titres", SortFieldType _
:=wdSortFieldAlphanumeric, SortOrder:=wdSortOrderAscending, FieldNumber2 _
:="", SortFieldType2:=wdSortFieldAlphanumeric, SortOrder2:= _
wdSortOrderAscending, FieldNumber3:="", SortFieldType3:= _
wdSortFieldAlphanumeric, SortOrder3:=wdSortOrderAscending, Separator:= _
wdSortSeparateByTabs, SortColumn:=False, CaseSensitive:=False, LanguageID _
:=wdFrench, SubFieldNumber:="Paragraphes", SubFieldNumber2:="Paragraphes" _
, SubFieldNumber3:="Paragraphes"
Selection.Font.ColorIndex = wdAuto
End Sub