Modifier le Format de nombre des Notes de bas de page (Word 2013) (résolu)
Existe-t-il une macro pour Ajouter un point avant ou après chaque Numérotation des Notes de bas de page.
Exemple de ce que fait Word 2013.
1 Note de bas de page.
2 Notes de bas de page.
3 Notes de bas de page.
Ce que je souhaiterai,
1. Notes de bas de page.
2. Notes de bas de page.
3. Notes de bas de page.
ou
.1 Note de bas de page.
.2 Note de bas de pas.
.3 Note de bas de pas.
Avec mes remerciements.

1 581 contributions
En principe, il te suffit de sélectionner le numéro de la première page qui l'affiche et tu peux en changer le format, rajouter des caractères avant ou après et ça se reporte sur les autres pages.
En général les numéros sont dans le pied de page, et il te faudra alors cliquer sur Affichage - Entête et Pied de page, pour y avoir accès.
Merci pour votre réponse.
Sur Word 2013 les Notes de bas de page se trouve au-dessus du Pied de page, et l'accès au Pied de page est sur l'onglet Insertion, qui sert à numéroter les pages.
La modification par la sélection du premier numéro de la Note de bas de page, ne se répercute pas sur les pages suivantes, d'autant plus que la numérotation choisie Recommence à chaque page Appliquer à tout le document.
y a-t-il une autre solution ?
Merci d'avance.
Voici une petite macro assez simpliste qui fait le travail :
Sub Footnotes()
Dim ItemNo As Integer
Dim RefIndex As String
Dim point As String
point = "."
For ItemNo = 1 To ActiveDocument.Footnotes.Count
If Left(ActiveDocument.Footnotes(ItemNo).Range.Text, 1) = "." Then
MsgBox " L'insertion d'un point a déjà été faite"
Exit Sub
End If
RefIndex = point & ActiveDocument.Footnotes(ItemNo).Range.Text
ActiveDocument.Footnotes(ItemNo).Range.Text = RefIndex
Next ItemNo
End Sub
Mais attention ! Elle agit sur le texte de la note de bas de page et non sur le numéro de note qui est inaccessible en programmation.
Elle insère un point juste avant le premier caractère de la note. On peut, en modifiant un peu, insérer une point et un ou plusieurs espaces. Il suffit de modifier l'instruction 'point = "."'
En outre, la macro contrôle que l'insertion d'un point n'a pas déjà été faite. Donc, avec cette solution, le texte d'une note de bas de page ne peut pas déjà commencer par un point.
On peut "peaufiner"
Merci beaucoup pour votre réponse.
Alors voilà comment je procède :
- Sur l’onglet Développeur, j’ouvre Visual Basic et ensuite de je colle le code dans This document, et je ferme.
- J’ouvre Macros et j’obtiens Footnotes, je clique sur Exécuter.
Et là, j’obtiens le message suivant : le membre existe déjà dans un module objet dont le présent module est dérivé.
Il est vrai que j’ai utilisé une macro pour l’Alignement des Notes de bas de page.
Par ailleurs, ma préférence est d’obtenir l’exemple suivant :
1. Notes de bas de page.
2. Notes de bas de page.
3. Notes de bas de page.
Pour enregistrer ma macro :
Sélectionner toutes les lignes dans le message sur Memoclic et faire « Copier » (CTRL + C)
Ouvrir le document Word.
Faire ALT + F11. Visual Basic s'ouvre.
Derrière la dernière macro déjà enregistrée faire Coller (CTRL +V)
Attention, il se copie parfois des lignes superflues qui apparaissent en rouge dans visual basic. A supprimer.
Pour obtenir ce qui est indiqué sur le modèle, modifier la valeur de « point » en ajoutant un espace après le point >> point = ". "
,
Derrière la dernière macro déjà enregistrée faire Coller (CTRL +V)
Quand Visual Basic est ouvert, il n'y a aucune macro, la fenêtre est vide.
j'ai suivis vos instructions, et c'est encore le même résultat qui s'affiche, c'est-à-dire le même message que précédemment.

1 533 contributions
Vous avez écrit :
Quand Visual Basic est ouvert, il n'y a aucune macro, la fenêtre est vide.
et avant :
Il est vrai que j’ai utilisé une macro pour l’Alignement des Notes de bas de page.
Elle n’apparaît pas quand vous faites ALT+F11 ?
Il est possible que le mot Footnotes soit en conflit avec un autre nom d'objet , essayer en remplaçant « Sub FootNotes() » par « Sub NotesBasDePage() » et exécuter « NotesBasDePage »
Merci beaucoup pour votre travail.
Alors, oui, c'est maintenant fonctionnel.
Mais comme vous l'avez dit :
Mais attention ! Elle agit sur le texte de la note de bas de page et non sur le numéro de note qui est inaccessible en programmation.
Pour finir ce n'est pas le but recherché, car très inesthétique.
Je possède pourtant plusieurs livres qui ont ce numéro de Note 1.
Alors comment font-ils ?
Cela dépend probablement du logiciel utilisé pour créer le texte. Ce n'est pas forcément avec Word et son principe de gestion des notes de bas de page.
Par contre, je ne vois pas ce que la solution a d'inesthétique ?
N'obtient-on pas le résultat que vous décriviez comme but recherché ?
Tous les textes des Notes sont mis en forme, comme suit :
Retrait gauche/droite = 0
De 1ère Ligne = suspendu De = 0,25 cm
Avec votre macro :
Les numéros restent en exposant, mais pas le point.
Si l'on pouvait mettre aussi le point en exposant collé après le chiffre, suivi d'un espace aussi en exposant, ce serait impeccable.
Ces précisions ne figuraient pas dans l'énoncé du problème, ni dans les exemples du résultat à obtenir ! A aucun moment, il n'était question d'exposant !
Pourrais-je avoir la macro utilisée pour mettre en forme le texte ?
J'ai bien écrit
Une macro simpliste
Il est évident si le texte de la note est manipulé par macro, la macro qui suit doit en tenir compte. Au départ, elle était conçue pour un texte "standard".
C'est un peu plus compliqué, mais pas impossible.
A +
Initialement, les textes des Notes avaient cette mise en forme, comme expliqué ci-dessus.
Ensuite, j'ai appliqué une macro, pour obtenir l'alignement du texte,
comme suit :
Sub notes()
'macro écrite par m@rina
Dim note As Footnote
Dim manote As String
For Each note In ActiveDocument.Footnotes
manote = note.Range.Text
If note.Range.Characters.First <> vbTab Then
note.Range.Text = vbTab & manote
End If
Next
End Sub

1 533 contributions
J'ai adapté votre macro pour insérer le point et le définir en exposant. La macro que j'avais faite précédemment est donc inutile.
Sub notes()
'macro écrite par m@rina
Dim note As Footnote
Dim manote As String
Dim point As String
point = "."
For Each note In ActiveDocument.Footnotes
manote = note.Range.Text
If note.Range.Characters.First <> vbTab Then
note.Range.Text = point & vbTab & manote
note.Range.Characters.First.Font.Superscript = True
End If
Next
End Sub
J'obtiens ceci, mais le rendu peut être différent car il dépend aussi des polices de caractères des index et du texte et de la valeur de vbTab sur le PC.

NB : Dans mon jeu d'essai le texte n'est pas mis en exposant, c'est un paramètre du style de la note.
Merci pour votre travail.
J'ai fait un premier essai sur une seule page d'un document vierge et coller un texte avec Notes.
j'ai obtenu ceci :
1 . Notes de bas de page.
Le point n'est pas collé au chiffre, et l'espace avant Notes est trop grand.
Puis j'ai essayé une seconde fois avec une copie de mon document de 600 pages, et là rien ne fonctionne.
vous avez dit :
J'obtiens ceci, mais le rendu peut être différent car il dépend aussi des polices de caractères des index et du texte et de la valeur de vbTab sur le PC.
La police de caractère est Garamond, et la taille de 10,5.
qu'est-ce que la valeur vbTab ?
J'oubliais, le Format n'est pas du A4.
Mais personnalisé : 15,24 x 22,86
C'est peut-être à cause de cela.
J'ai encore essayé avec une seule page, et toujours rien, il n'y a aucune action.
C'est incompréhensible !
3 points :
a) VbTab est la valeur de la tabulation horizontale qui était insérée avant le texte avant que je modifie la macro pour ajouter le point. J'ai conservé cette valeur. Chez moi, comme on peut le voir, c'est effectivement ce qui provoque le "grand" espace entre le point et le début du texte. Pour éviter cela on peut supprimer l'insertion de vbTab et insérer un point suivi de 2 ou 3 blancs.
b) Si le point n'est pas accolé au chiffre de l'index c'est parce que, au départ, le texte est séparé du chiffre par au moins un espace. Comme on agit sur le texte et non sur l'index, l'espace est toujours là.
c) Pour le fichier de 600 pages, essayer de placer l'appel de la macro sur la barre d'outil d'accès rapide :Elle sera disponible pour n'importe quel document Word.
Attention : dans la macro "notes", je n'ai pas placé le contrôle pour vérifier que l'on ne fait pas deux fois l'insertion du point.
Pour ce faire, il faudrait ajouter le code suivant
If note.Range.Characters.First = "." Then
MsgBox " Le point a déjà été inséré"
Exit Sub
End If
entre "manote =..."
et "If not.Range.Characters.First....."
En outre, pour mes essais, j'ai trouvé un certain intérêt à développer une petite macro pour annuler le point et la tabulation.
Sub AnnulPoint()
Dim ItemNo As Integer
Dim RefIndex As String
Dim point As String
point = "."
For ItemNo = 1 To ActiveDocument.Footnotes.Count
If Not Left(ActiveDocument.Footnotes(ItemNo).Range.Text, 1) = "." Then
MsgBox " L'annulation du point a déjà été faite"
Exit Sub
End If
RefIndex = Replace(ActiveDocument.Footnotes(ItemNo).Range.Text, vbTab, "", 1, 1)
ActiveDocument.Footnotes(ItemNo).Range.Text = RefIndex
RefIndex = Replace(ActiveDocument.Footnotes(ItemNo).Range.Text, ".", "", 1, 1)
ActiveDocument.Footnotes(ItemNo).Range.Text = RefIndex
Next ItemNo
End Sub
Si vous décidez d'abandonner la tabulation et d'insérer un point et des espaces,, il faudra aussi modifier la macro AnnulPoint.
Avant de me décider, je souhaiterai qu'au moins une macro fonctionne.
J'ai suivi vos instructions pour modifier la macro "notes".
Mais là encore rien ne fonctionne.
Je remarque qu'il y a dans le groupe code, une alerte en forme de triangle Sécurité des macros.
Je l'ai ouvert et dans le volet Paramètres des macros, parmi les quatre coches, une est activé : Désactiver toutes les macros avec notification.
N'y a-t-il pas un problème de ce côté ?
J'ai les mêmes options chez moi et tout fonctionne.
Essayez de cocher "Activer toutes les macros (non recommandé...", mais je doute que cela change quelque chose.
Pouvez-vous m'envoyer une image de note de bas de page réelle, avec la dernière ligne de texte de la page ?
A +
Voici l'image :
Par ailleurs, j'ai vérifié la compatibilité du document qui m'a été envoyé et je m’aperçois seulement maintenant qu'il provient de la version Word 97-2003.
J'ai essayé de le convertir en version proposée 2010, et pourtant je suis sur la version Word 2013, et rien à faire, il reste sur 2003.
Le document a donc comme extension doc.
Essayez de l'ouvrir en mode de compatibilité et non de le convertir.
>>> Ouvrir et Enregistrer sous en précisant "Document Word (*.docx)" dans le Type., puis ouvrir à nouveau.
J'ai déjà essayer mais étrangement je n'ai pas le choix du "Document Word (*.docx)".
Voici ce qui se présente :
D'autre part, dans le Centre de gestion de la confidentialité, j'ai ceci :

1 533 contributions
Ces paramètres sont effectivement nouveaux depuis Word 2010 à des fins de protection. (Je suis toujours sous Word 2007 et je les découvre).
Je ne sais pas s'ils provoquent la non exécution de la macro
Je ne peux que conseiller (en restant prudent pour les autres documents) de décocher toutes les cases ou de sélectionner "Ouvrir les types de fichiers sélectionnés... et autoriser les modifications".
A condition que la source du document en question soit fiable.
Il y a aussi l'option d'enregistrer sous format "Word prenant en charge les macros (*.docm)".
NB si vous n'avez pas le choix de "Document Word (*.docm) ou *.docx, c'est parce que vous n'avez pas coché l'option "afficher les extensions des fichiers" dans l'explorateur Windows.
J'ai coché Extensions de noms de fichiers.
Essayé sur "Document Word (*.docm) et *.docx
Quand je mets le code, le document se réduit en niveau inf.
J'exécute la macro, et toujours rien.
Le dernier recours possible est d'ajouter le point manuellement sur tout le document, ce qui me prendre pas mal de temps.
J'ai peut-être sur un pc dans une archive un document word 97-2003. Je regarde et je reviens.

1 533 contributions
Hélas, je n'ai aucun ancien document Word non converti en docx.
La modification manuelle d'une partie du document ou d'une note de bas de page est-elle possible ? Autrement dit, le document n'est-il pas protégé d'une manière ou d'une autre ?
Je n'ai pas bien compris "Quand je mets le code, le document se réduit en niveau inf."
Sur les options des boutons en haut à droite du document, réduire, agrandir/niveau inf, et fermer.
J'ai déjà essayé : je positionne le curseur à droite du chiffre, et j'ajoute le point. Ensuite, je mets le point en exposant et enfin je réduit l'espace entre le point et le début de la Note avec la Tabulation à 0,25. Il n'y aucun problème.
Désolé, je ne comprend toujours pas ce "niveau inf".
Pour que la macro s'applique,,il faut que le document soit actif.
Comment lancez-vous la macro quand le document est en niveau inf ?
Quand le document est ouvert, j’ouvre Visual Basic et je copie le code dans la fenêtre après avoir cliquer sur This document, ensuite je ferme.
Et c’est à ce moment que le document se réduit, non pas sur la barre d’état, mais comme si j’appuyais sur le milieu des trois boutons à l’extrémité en haut à droite du document.
Autre chose, lorsque j'enregistre le message suivant apparaît à chaque fois :
Le message n'est pas lié aux notes de bas de page et ne peut pas expliquer que la macro ne s'exécute pas. Par contre le message est émis quand on demande l'enregistrement sur un ancien format et non sous le format Word 2013.
D'autre part, il semble que la macro ne soit pas attachée correctement au document car, dans ce cas, on a un message demandant d'enregistrer avec l'extension docm ou de ne pas tenir compte de la macro.
Avez-vous comme je vous l'avais suggéré installé un appel de la macro sur la barre d'outils accès rapide ?
Personnellement, je ne passe pas par "This document", mais par "New macro" pour enregistrer une macro dans visual basic. Les macros ainsi enregistrées sont utilisables par tous les documents Word.
Enfin, il me semble curieux qu'il faille copier la macro à chaque fois. Tout se passe comme si la macro n'était pas enregistrée.
Oui, j'ai installé un appel de la macro sur la barre d'outils accès rapide.
Je n'ai pas New macro.
Voici les images :
Le document n'est pas ouvert avec Word 2013 en mode compatibilité.On ne devrait pas avoir ce ruban et on devrait pouvoir enregistrer la macro dans "New Macro".
y a-t-il une procédure particulière pour ouvrir Word 2013 en mode compatibilité ?
Vous me donner un doute sur ma version office 2013, alors je vous envoie cette image :
Est-ce que c'est cela New macro ?

1 533 contributions
Au temps pour moi, le ruban est bien celui d'Office 2013.
Si le document est resté avec l'extension doc, l'information "Mode de compatibilité" doit figurer derrière le nom du fichier. Si le document a été enregistré sous avec le choix d'extension docx, la notion de mode de compatibilité ne figure plus.
"New Macro" est un récepteur qui existait sur les versions précédentes et qui avait la même fonction que "This document", sauf que la macro, au lieu d'être dédiée à un seul document, pouvait s'appliquer à tous les documents.
Je m’aperçoit qu'il y a plus de différences entre Word 2007 et Word 2013 que je ne le pensais. J'ai donc beaucoup de mal à donner des conseils pertinents sur l'activation de la macro.
Ce qui est sûr, c'est que cette macro fonctionne avec un document Word créé sous Word 2013, mais semble ne pas vouloir fonctionner avec un document créé avec Word 97-2003.
Je suggère de demander de l'aide sur un site ou l'on trouve beaucoup plus de spécialistes VBA et donc où l'on a plus de chances de trouver un utilisateur de Word 2013 déjà confronté à ce problème.
Par exemple le site "Club Développez.com"
Au passage, voir si on peut, par programme modifier la position horizontale de la note de bas de page de façon à ce que le point inséré touche le numéro de note.
Bonne chance
En tout cas je vous remercie vivement pour votre contribution, vous m'avez donné le code ce qui est l'essentiel. Il ne reste plus qu’à trouver ce problème d'activation de votre macro sur mon document.
Merci encore et peut-être à bientôt.

1 533 contributions
Devant l'absence de réponse sur le site "Développez.com", je reviens sur le sujet avec une suggestion de manip pour vérifier que la macro s'exécute bien sur le document de 600 pages :
Placer le code suivant entre Next et End Sub :
Msgbox "Traitement terminé"
Si le message est affiché, cela signifie que la macro s'exécute, mais ne trouve aucun objet, qui la concerne, par exemple que les Footnotes de Word 97-2003, ne sont pas accessibles par cette méthode.
Si le message ne s'affiche pas, cela signifierait que la macro ne s'exécute pas.
A +
J'ai réussi à mettre l'extension (.docx), mais ça ne fonctionnait toujours pas.
Je viens d'ajouter votre dernier élément, et en fin la macro s'exécute, Voici le message :
Et voilà le rendu :
Et avec la macro AnnulPoint :
Si l'on pouvait collé le point au chiffre et réduire de 3/4 l'espace entre le point et le début de la note, serait l'idéal.
Merci beaucoup de votre persévérance.
Tout ceci démontre que la macro a fonctionné au moins deux fois. Le message "Le point a déjà été inséré" l'indique.
Après exécution de "AnnulPoint", il ne reste plus qu'un point. Donc les deux macros fonctionnent !
Concernant la position du point près du numéro de note : Ainsi que je l'ai expliqué, la macro agit sur le texte en plaçant le point en tout début de texte. Si le texte ne colle pas au numéro avant la macro, il ne collera toujours pas après la macro. Mais je n'ai pas trouvé comment déplacer le texte en masse pour qu'il colle au numéro de note avant d'exécuter l'insertion du point. Cette position du texte est standard dans Word et je n'ai réussi à supprimer l'espace que manuellement. Très difficile à imaginer sur un gros document.
Concernant la réduction de l'espace : ainsi que je l'ai précisé, cet espace provient de l'insertion d'une tabulation après le point (VbTab). Cette insertion existait déjà avant que je ne modifie la macro. Pour résoudre ce problème, il y a deux méthodes :
1) soit modifier la tabulation standard sous l’onglet « Accueil », puis en cliquant sur la petite flèche à droite de "Paragraphe", puis « Tabulation », puis choisir la tabulation souhaitée exprimée en fraction de cm.
2) Soit modifier la macro pour donner à la variable point, une valeur égale au point suivi de quelques espaces et ne plus insérer VbTab. Dans cette seconde hypothèse, la macro « AnnulPoint » doit être également modifiée pour revenir correctement aux positions initiales.
J’ai fait quelques modifications des macros chez moi tandis que je cherchais des solutions. Je souhaiterai que vous me communiquiez une image des macro notes et AnnulPoint actuellement opérationnelles chez vous.
Merci
A +
J'ai constaté que les macros ont fonctionner sur une copie de l'original transformé en .docx avec un caractère Times. Alors qu'une autre copie transformé aussi en .docx, mais avec le caractère Garamond, ne fonctionne toujours pas.
Voici l'image de note :
et l'image de AnnulPoint() que je ne peut agrandir plus :
Alors, j'ai supprimer les copies et recréer d'autres copies et là ça fonctionne ?!
Quelle option chosissez-vous pour diminuer l'espace entre le point et le début du texte . Tabulation ou modification des macros ?
Je préfère la modification des macros, car j'ai remarqué qu'avec Word, la Tabulation ne remplit pas toute sa fonction sur tout le document.

1 533 contributions
Dans ce cas voici les deux macros pour insérer un point et des espaces avant le texte de la note (macro notes) et pour annuler ce traitement (macro AnnulPoint). Pour obtenir entièrement satisfaction, jouer sur le nombre d’espaces de la variable « MesEspaces ».
Pour annuler correctement le travail d’insertion, placer le même nombre d’espaces dans la variable « MesEspaces de la macro « AnnulPoint »
Macro Notes :
Sub notes()
Dim note As Footnote
Dim manote As String
Dim MesEspaces As String
MesEspaces = " " ' 5 espaces par exemple
point = "."
For Each note In ActiveDocument.Footnotes
manote = note.Range.Text
If Not note.Range.Characters.First = "." Then
note.Range.Text = point & MesEspaces & manote
note.Range.Characters(1).Font.Superscript = True
Else
End If
Next
MsgBox "Traitement terminé"
End Sub
Macro AnnulPoint :
Sub AnnulPoint()
Dim ItemNo As Integer
Dim RefIndex As String
Dim MesEspaces As String
MesEspaces = " " ' 5 espaces par exemple
For ItemNo = 1 To ActiveDocument.Footnotes.Count
If Not Left(ActiveDocument.Footnotes(ItemNo).Range.Text, 1) = "." Then
MsgBox " L'annulation du point a déjà été faite"
GoTo Suite
End If
RefIndex = Replace(ActiveDocument.Footnotes(ItemNo).Range.Text, "." & MesEspaces, "", 1, 1)
ActiveDocument.Footnotes(ItemNo).Range.Text = RefIndex
Suite:
Next ItemNo
End Sub
Attention Memoclic ne conserve qu'un espace entre deux " ". Donc, il faut rétablir les autres dans les macro installées dans Visual Basic
Après plusieurs essais, je n'ai finalement pas besoin de la macro AnnulPoint,
La macro notes ne met qu'un seul point, et l'espace entre le point et le début de la note est correct.
Il ne reste plus qu'a rapproché le point du chiffre que je ferai manuellement.
Voici le résultat :
La macro AnnulPoint n'était là que pour éviter de faire des copies du document pendant la phase de la mise au point de la macro notes. Si tout est ok, elle ne sert effectivement plus.
Le sujet peut-il être maintenant définitivement considéré comme "résolu" ?
Je vous le confirme, le sujet est résolu.
Avec mes remerciements les plus sincères.
Discussion trop ancienne
Cette discussion a été automatiquement fermée car elle n'a plus reçue de nouveau message depuis trop longtemps.
Nous vous suggérons de créer un nouveau message