Modifier le Format de nombre des Notes de bas de page (Word 2013) (résolu)

jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 04/05/2017 à 22:36


Bonjour,

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.



gaston gaston
1 474 contributions
Membre depuis le 01/03/2001
Envoyé le 05/05/2017 à 11:24 Modifié par gaston


Bonjour,

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.
carpe diem
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 05/05/2017 à 12:35


Bonjour,

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.


Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 05/05/2017 à 17:47


Bonjour,

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"
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 05/05/2017 à 18:28


Bonjour Claude40,

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.



Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 05/05/2017 à 19:07


Bonsoir,
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 = ". "
,

Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 05/05/2017 à 19:22


Bonjour,

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.


Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 06/05/2017 à 10:28 Modifié par Claude40


Bonjour,
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 »

Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 06/05/2017 à 10:47


Bonjour,

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 ?






Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 06/05/2017 à 10:52


Bonjour,
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é ?
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 06/05/2017 à 11:04


Bonjour,

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.



Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 06/05/2017 à 11:16


Bonjour,
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 +
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 06/05/2017 à 11:23


Bonjour,

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


Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 06/05/2017 à 15:23 Modifié par Claude40


Bonjour,

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.
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 06/05/2017 à 16:00


Bonjour,

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 ?



jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 06/05/2017 à 16:11


Bonjour,

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 !

Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 06/05/2017 à 16:47


Bonjour,
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.
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 06/05/2017 à 17:27


Bonjour,

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é ?


Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 06/05/2017 à 18:11


Bonjour,
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 +

Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 06/05/2017 à 18:55


Bonjour,

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.







Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 06/05/2017 à 21:07


Bonjour,
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.

Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 06/05/2017 à 21:27


Bonjour,

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 :





Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 07/05/2017 à 09:15 Modifié par Claude40


Bonjour,
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.
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 07/05/2017 à 11:12


Bonjour,

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.


Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 07/05/2017 à 12:46


Bonjour,
J'ai peut-être sur un pc dans une archive un document word 97-2003. Je regarde et je reviens.
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 07/05/2017 à 13:38 Modifié par Claude40


Bonjour,
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."
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 07/05/2017 à 14:03


Bonjour,

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.

Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 07/05/2017 à 14:23


Bonjour,

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 ?
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 07/05/2017 à 14:29


Bonjour,

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.


jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 07/05/2017 à 14:43


Bonjour,

Autre chose, lorsque j'enregistre le message suivant apparaît à chaque fois :




Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 07/05/2017 à 16:06


Bonjour,
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.
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 07/05/2017 à 16:34


Bonjour,

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 :











Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 07/05/2017 à 19:06


Bonjour,
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".
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 07/05/2017 à 20:49


Bonjour,

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 ?





Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 08/05/2017 à 00:24 Modifié par Claude40


Bonjour,
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
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 08/05/2017 à 09:24


Bonjour,

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.

Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 10/05/2017 à 19:01 Modifié par Claude40


Bonjour,
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 +
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 10/05/2017 à 20:20


Bonjour,

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.



Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 11/05/2017 à 10:17


Bonjour,
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 +

Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 11/05/2017 à 18:52


Bonjour,

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 :







jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 11/05/2017 à 19:12


Bonjour,

Alors, j'ai supprimer les copies et recréer d'autres copies et là ça fonctionne ?!

Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 12/05/2017 à 09:04


Bonjour,
Quelle option chosissez-vous pour diminuer l'espace entre le point et le début du texte . Tabulation ou modification des macros ?
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 12/05/2017 à 09:50


Bonjour,
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.


Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 12/05/2017 à 10:57 Modifié par Claude40


Bonjour,
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
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 12/05/2017 à 18:38


Bonjour,
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 :





Claude40 Claude40
1 530 contributions
Membre depuis le 24/03/2010
Envoyé le 12/05/2017 à 18:53


Bonjour,
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" ?
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
jawa123
27 contributions
Membre depuis le 04/05/2017
Envoyé le 12/05/2017 à 20:35


Bonjour,

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

« Retour sur la liste des messages de ce forum