Vous avez scanné un document pour lequel vous avez récupéré le texte. Dans ce texte, il y a beaucoup de notes de fin de document. Ces notes sont donc situées en fin de document, mais aucun lien ne réunit les appels de notes et les notes. Comment faire par macro pour corriger cela ?
Important : travailler sur une copie, car une macro peut être violente si les conditions ne sont pas réunies. Tout dépend quand même du document.
Pour commencer, coupez les notes qui sont à la fin du document et collez-les dans un nouveau document que vous nommerez "notes.docx" et que vous laisserez ouvert. C'est pour éviter que Word ne confonde les appels de note et la note elle-même puisque, pour l'instant, il n'y a pas de différence.
Ensuite, copiez la macro suivante et collez-la dans le document principal qui contient le texte.
Relevez le nombre de notes, et dans la boucle de la macro, remplacez le chiffre 10 par le nombre des notes.
Lancez la macro.
Sub notes()
'macro écrite par m@rina
Application.ScreenUpdating = False
Dim mesnotes As Document, lanote, x As Byte
Set mesnotes = Documents("notes.docx")
For x = 1 To 10
Documents(mesnotes).Activate
Selection.HomeKey Unit:=wdStory
With Selection.Find
.Text = x
.Font.Superscript = True
.Forward = True
.Execute
End With
Selection.MoveRight Unit:=wdWord, Count:=1
lanote = Selection.EndOf(Unit:=wdParagraph, Extend:=wdExtend)
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Copy
ThisDocument.Activate
Selection.HomeKey Unit:=wdStory
With Selection.Find
.Text = x
.Font.Superscript = True
.Forward = True
.Replacement.Text = ""
.Execute Replace:=wdReplaceOne
End With
With Selection
With .EndnoteOptions
.Location = wdEndOfDocument
.NumberingRule = wdRestartContinuous
.NumberStyle = wdNoteNumberStyleArabic
End With
.Endnotes.Add Range:=Selection.Range, Reference:=""
End With
Selection.Paste
Next
Application.ScreenUpdating = True
End Sub
NB : Cette macro part du principe que les notes ne font pas plus d'un paragraphe. Si ce n'est pas le cas, prévoyez, avant de commencer, de convertir les retours paragraphes contenues à l'intérieur d'une note en retours ligne.
NB2 : Cette macro part du principe qu'il s'agit de notes de fin. Si ce sont des notes de bas de page, c'est trop compliqué, car Word ne pourra pas déterminer s'il s'agit d'une note ou d'appel de note. Donc, le mieux sera, auparavant, de rassembler toutes les notes dans le seul document "notes.docx". On pourra ensuite, si nécessaire et via la boîte de dialogue des notes de modifier les options, en convertissant notes de bas de page en notes de fin.