Doublons word

Fermé
duke - 28 août 2009 à 18:22
 faeze - 13 sept. 2012 à 14:00
Bonjour,
j'écris un livre. je voudrais éviter que des mots soient répétés sur la même page. parfois, en relisant, on ne s'aperçoit pas de tout.
j'aimerais que mon ordi me les surligne ou autre. Si word ne peut pas le faire, je voudrais savoir s'il existe un module complémentaire ayant cette fonctionnalité.
A voir également:

2 réponses

Raymond PENTIER Messages postés 58891 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 18 mars 2025 17 298
28 août 2009 à 21:54
Bonjour.
Sans macro, mais avec un gros bidouillage :

1) Sélectionner la page [ctrl]+A et faire copier [ctrl]+C
2) Coller dans un document Word [ctrl]+V
3) Sélectionner le texte, faire Insertion/Tableau/Convertir le texte en tableau/Nombre de colonnes=1/Séparer le texte au niveau des/Autres/ et taper un espace
En validant avec OK, on doit obtenir un tableau où chaque cellule de l'unique colonne contient un mot de la page traitée.
4) Copier le tableau, et le coller dans un fichier Excel ; effectuer un tri pour obtenir ces mots par ordre alphabétique, ce qui permet de constater les doublons.

Je sais, ce n'est ni pratique, ni rapide, mais à défaut de mieux, ça peut dépanner ...
2
m@rina Messages postés 21792 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 mars 2025 11 411
28 août 2009 à 18:58
Bonjour,

On peut le faire avec une macro, mais tu vas te retrouver avec plein de mots soulignés comme les articles, adverbes, et autres...

Voici une macro que tu vas exécuter après avoir fait une sélection de texte sur lequel tu veux faire la recherche.
Word n'ayant pas la notion de page, et tes pages de livre ne correspondant probablement pas à tes pages sur Word, je pense que c'est le mieux.
J'ai mis les mots à partir de 5 caractères.

Sub recherche()
Dim mot
Dim texte$
For Each mot In Selection.Words
Count = 0
texte$ = mot
With ActiveDocument.Content.Find
Selection.Find.Highlight = False
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Highlight = True
Do While .Execute(FindText:=texte$, Format:=True, MatchWholeWord:=True) = True
Count = Count + 1
Loop
End With
If mot.Characters.Count > 4 Then
If Count > 1 Then mot.HighlightColorIndex = wdYellow
End If
Next
End Sub


m@rina
1
Merci pour cette macro, pourrez-tu m'aiguiller vers l'ajout de mots à exclure de cette fonction.
(Genre "avec", "pour", "mais"; "cette"...).
J'ai pensé à déclarer une variable (c'est un bon début)
Y mettre les mots exclus, et avant le If Count >1 mettre une ligne qui ne prends pas en compte les mots qui sont dans cette variable.

Comme vous le voyez je galère un peu, merci d'être un minimum pédagogue

Manu
0