user_mobilelogo

Voir

les 50 derniers articles

  

 

Qui suis-je ?


 

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

 

Statistiques

Aujourd'hui2035
Hier1781
Cette semaine7380
Ce mois42979
Total depuis 200418152771

9
visiteurs actuellement en ligne

28 mars 2024