user_mobilelogo

Word 365: Vous saurez tout !

Pour tout connaître sur Word
Nouvelle version !

600 pages !

9,80 € 

 

En savoir plus.

 

Soit un document qui liste une série d'astuces. Chaque titre d'astuce est rédigé avec le style Titre 1. La table des matières automatique permet d'obtenir des liens hypertextes pour se rendre directement sur l'article. Il serait intéressant que cette table des matières soit organisée par ordre alphabétique afin de s'y retrouver plus rapidement.

Une table des matières suit l'ordre logique des titres d'un document. On ne peut donc pas la trier par ordre alphabétique. Ou bien, il faudrait la transformer avant en texte brut, mais dans ce cas on perdrait bien sûr l'avantage des liens hypertextes.

La solution serait d'insérer non pas une table des matières mais une série de renvois sur chaque Titre. Cette méthode serait longue et fastidieuse si on la fait manuellement. Voici donc une macro qui va lister ces renvois, et transformer la liste en tableau, de manière à pouvoir faire un tri aisément, soit sur le titre des astuces, soit sur la pagination.

 

Sub tm_tablo()
'macro écrite par m@rina
Dim Paragraphe As Paragraph, Nombre, Numéro
Nombre = 0
For Each Paragraphe In ActiveDocument.Paragraphs

If Paragraphe.Style = "Titre 1" Then
Nombre = Nombre + 1
End If
Next
For Numéro = 1 To Nombre
With Selection
.InsertCrossReference ReferenceType:="Titre", ReferenceKind:= _
wdContentText, ReferenceItem:=Numéro, InsertAsHyperlink:=True
.TypeText Text:=vbTab
.InsertCrossReference ReferenceType:="Titre", ReferenceKind:= _
wdPageNumber, ReferenceItem:=Numéro, InsertAsHyperlink:=True
.TypeParagraph
End With
Next Numéro

With Selection
.Extend
.MoveUp Unit:=wdLine, Count:=Nombre
.ConvertToTable Separator:=wdSeparateByTabs, NumColumns:=2, _
NumRows:=Nombre, AutoFitBehavior:=wdAutoFitContent
.Sort ExcludeHeader:=False, FieldNumber:="Colonne 1", _
SortFieldType:=wdSortFieldAlphanumeric
.Columns.PreferredWidthType = wdPreferredWidthPercent
.Columns.PreferredWidth = 90

End With

End Sub

 

 

Si l'on ajoute des astuces, il faudra supprimer le tableau, et relancer la macro.

Rappel : la mise à jour se fait avec F9

 

Voir aussi...

Statistiques

Aujourd'hui1238
Hier2908
Cette semaine17563
Ce mois80360
Total depuis 200412598992

15
visiteurs actuellement en ligne

28 novembre 2020