Personalisation des notes bas de page

phnoel Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   -  
Bruno83200_6929 Messages postés 660 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Comment insérer, en une seule opération, une espace insécable après les numéros de toutes les notes dans le bas de page ?

Rechercher / remplacer ?

Macro ?

Merci de votre aide


Windows / Firefox 140.0

A voir également:

7 réponses

Résumé de la discussion

L’opération peut être automatisée par une macro VBA qui insère un espace insécable après chaque numéro de notes de bas de page dans Word. Plusieurs codes existent, principalement des macros qui parcourent les notes et ajoutent ChrW(160) après le numéro, avec des variantes selon le format de numérotation (avec ou sans point, ou autres séparateurs). Pour les exécuter, il faut ouvrir l’éditeur VBA (Alt+F11), ajouter un module, coller le code et lancer la macro, puis enregistrer le document en .docm. Des retours indiquent que le placement précis de l’espace peut varier et nécessiter des ajustements (par exemple 1 ou 2 caractères après le numéro ou changer le caractère ciblé selon le format).

Généré automatiquement par IA
sur la base des meilleures réponses
phnoel Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   2
 

J'ai, au pif, modifié la ligne  9 par :

noteText.MoveStart wdCharacter, 0 ' Passe le numéro

et le résultat est correct et, je n'ai pas remarqué de dégâts collatéraux.

Pouvez-vous toutefois me confirmer que cette modif était judicieuse ?

Merci

1
brucine Messages postés 23350 Date d'inscription   Statut Membre Dernière intervention   3 635
 

Bonjour,

Si on a du mal à y parvenir par une macro, deux autres pistes.

Modification des tabulations dans le style:
https://www.reddit.com/r/MicrosoftWord/comments/dgj3xy/space_between_footnotes_number_and_note/?tl=fr

Rechercher-Remplacer:
On a ici le cas inverse (supprimer l'espace):
https://www.reddit.com/r/MicrosoftWord/comments/sv7fp2/footnotes_space_between_footnote_number_and/?tl=fr

mais la syntaxe de remplacement pour cette fois-ci ajouter un espace se trouve là:
https://www.msofficeforums.com/word/28124-space-between-footnote-number-footnote.html

où je suppose que 32 doit être remplacé par 160 si l'espace doit être insécable.

0
Bruno83200_6929 Messages postés 660 Date d'inscription   Statut Membre Dernière intervention   154
 

Super !

0
Bruno83200_6929 Messages postés 660 Date d'inscription   Statut Membre Dernière intervention   154
 

Bonjour,

Si vous devez effectuer cette opération fréquemment ou sur plusieurs documents, une macro VBA peut automatiser le processus. Voici un exemple de code VBA pour Word :

Sub InsererEspaceInsecableApresNotes()
    Dim note As Footnote
    For Each note In ActiveDocument.Footnotes
        note.Range.Text = note.Range.Text & Chr(160)
    Next note
End Sub

0
phnoel Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   2
 

Merci de votre retour.

J'ai tenté...mais ça n'a pas fonctionné ! Ai-je oublié quelque chose ?

0
Bruno83200_6929 Messages postés 660 Date d'inscription   Statut Membre Dernière intervention   154
 

Alors suivez bien ceci:

- Accéder à l'éditeur VBA
Appuyez sur Alt + F11 pour ouvrir l'éditeur VBA.
Insérez un nouveau module : Insertion > Module.


- Écrire la macro
Copiez le code suivant pour parcourir les notes de bas de page et insérer une espace insécable après le numéro :

Sub AjouterEspaceInsecableNotes()
    Dim note As Footnote
    Dim noteText As Range
    
    For Each note In ActiveDocument.Footnotes
        Set noteText = note.Range
        ' Supposons que le numéro est suivi d'un point ou d'un autre caractère
        If Len(noteText.Text) > 1 Then
            noteText.MoveStart wdCharacter, 1 ' Ignore le numéro de note automatique
            noteText.MoveEndUntil Cset:=".", Count:=1 ' Avance jusqu'au point
            noteText.MoveEnd wdCharacter, 1 ' Inclut le point
            noteText.InsertAfter ChrW(160) ' Insère une espace insécable (code Unicode 160)
        End If
    Next note
End Sub

- Exécuter la macro
Enregistrez le document avec prise en charge des macros (.docm).
Appuyez sur F5 dans l'éditeur VBA ou exécutez la macro depuis Affichage > Macros > Exécuter.


La macro parcourt chaque note de bas de page et insère une espace insécable après le numéro (en supposant qu'il est suivi d'un point).


Testez sur un document de sauvegarde pour éviter toute perte de données.


0
Bruno83200_6929 Messages postés 660 Date d'inscription   Statut Membre Dernière intervention   154
 

Personnalisation :
Si vos notes ont un format différent (par exemple, 1), 1-), modifiez la ligne noteText.MoveEndUntil Cset:="." pour cibler le caractère approprié (par exemple, ")" ou "-").

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
phnoel Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   2
 

Eh bien je suis désolé. Vos indications sont pourtant claires et précises...et ça ne fonctionne toujours pas  !

NB le format des notes est "standard" (1,2,3...) sans point,  avec renumérotation à chaque section.

0
Bruno83200_6929 Messages postés 660 Date d'inscription   Statut Membre Dernière intervention   154
 

Désolé ! Essayez cette dernière :

Sub AjouterEspaceInsecableNotesSimples()
    Dim note As Footnote
    Dim noteText As Range
    
    For Each note In ActiveDocument.Footnotes
        Set noteText = note.Range
        ' Déplace au début du texte après le numéro automatique
        noteText.Collapse wdCollapseStart
        noteText.MoveStart wdCharacter, 1 ' Passe le numéro
        ' Vérifie s'il n'y a pas d'espace ou caractère après
        If noteText.Characters(1) <> ChrW(160) And noteText.Characters(1) <> " " Then
            noteText.InsertBefore ChrW(160) ' Insère une espace insécable avant le texte
        End If
    Next note
End Sub
0
phnoel Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   2
 

"On" y est presque. Super.

L'espace est mal placé (1 ou 2 caractères après le numéro)

0
phnoel Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   2
 

Merci Brucine,

La macro précedente avait fonctionné, mais les liens fournis étaient très didactique.

Rechercher/remplacer peut être utilisé 

0