Extraire d'un texte ordinaire le nombre de chaque mot différent ?
Résolu
FVR812
Messages postés
109
Date d'inscription
Statut
Membre
Dernière intervention
-
FVR812 Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
FVR812 Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
Bonjour, comment Extraire d'un texte word ordinaire le nombre de chaque mot différent ? Par ex lorsqu'on postule sur des Termes de Références d'un poste, il est utile de repérer rapidement combien de fois les mots clés apparaissent. Je n'ai toujours pas trouvé. Merci si vous avez la solution.
Configuration: Windows / Edge 18.17763
A voir également:
- Supprimer occurence mot word
- Supprimer une page word - Guide
- Supprimer rond bleu whatsapp - Guide
- Word 2013 - Télécharger - Traitement de texte
- Tableau word - Guide
- Espace insécable word - Guide
3 réponses
Bonjour,
Regarde ici si c'est ce que tu cherches :
https://faqword.com/index.php/word/environnement/350-comment-compter-le-nombre-de-fois-quun-mot-ou-un-groupe-de-mots-est-utilise-dans-un-texte
m@rina
Regarde ici si c'est ce que tu cherches :
https://faqword.com/index.php/word/environnement/350-comment-compter-le-nombre-de-fois-quun-mot-ou-un-groupe-de-mots-est-utilise-dans-un-texte
m@rina
Bonjour,
Salut m@rina :-)
un essai de macro quand même.
Je pense que ça pourra être assez rapide même sur un grand texte.
Je ne liste que les mots d'au moins 3 lettres et cités au moins 2 fois.
Tu pourras adapter la macro pour restreindre un peu plus.
fichier de test avec la macro : https://mon-partage.fr/f/6hjLwyF8/
eric
Salut m@rina :-)
un essai de macro quand même.
Je pense que ça pourra être assez rapide même sur un grand texte.
Je ne liste que les mots d'au moins 3 lettres et cités au moins 2 fois.
Tu pourras adapter la macro pour restreindre un peu plus.
Sub compteMots() Dim wd As Range, dict, k, result(), i As Long, tmp Dim doc As Document, tabl As Table Set dict = CreateObject("Scripting.Dictionary") For Each wd In Selection.Words tmp = Split(LCase(wd.Text), "'") For i = 0 To UBound(tmp) ' compte mots de plus de 3 lettres If Len(tmp(i)) > 3 Then If dict.Exists(tmp(i)) Then dict(tmp(i)) = dict(tmp(i)) + 1 Else dict(tmp(i)) = 1 Next i Next wd For Each k In dict.keys If dict(k) <= 1 Then dict.Remove k 'suppression mots cités 1 seule fois Next k If dict.Count > 0 Then Set doc = Documents.Add Set tabl = doc.Tables.Add(Range:=Selection.Range, NumRows:=dict.Count + 1, numcolumns:=2) tabl.Cell(1, 1).Range.Text = "Mot": tabl.Cell(1, 2).Range.Text = "Cpt" For Each k In dict.keys i = i + 1 tabl.Cell(i, 1).Range.Text = k tabl.Cell(i, 2).Range.Text = dict(k) Next k tabl.Sort True, 2, wdSortFieldNumeric, wdSortOrderDescending tabl.Borders.Enable = True End If Set dict = Nothing End Sub
fichier de test avec la macro : https://mon-partage.fr/f/6hjLwyF8/
eric
Bonjour eriiic,
Impeccable ta macro ! Je valide ;))
Je me suis permise de la relayer sur mon site :
https://faqword.com/index.php/word/outils-edition/1066-comment-dans-un-document-compter-le-nombre-d-occurrences-de-chaque-mot
A +
m@rina
Impeccable ta macro ! Je valide ;))
Je me suis permise de la relayer sur mon site :
https://faqword.com/index.php/word/outils-edition/1066-comment-dans-un-document-compter-le-nombre-d-occurrences-de-chaque-mot
A +
m@rina
Tu as très bien fait :-)
Mais peut-être faut-il la fignoler un peu plus si le premier jet parait correct.
J'ai déjà remarqué, et traité, l'apostrophe qui était considérée comme une lettre normale et "l'un" comptait comme un seul mot. Si tu en connais d'autres ?
Je pensais sélectionner tout le texte si aucune sélection n'est faite, avec confirmation.
Et éventuellement ajouter une boite de dialogue pour paramétrer taille mini des mots, compteur min à sortir et nombre max de mots.
Mais peut-être faut-il la fignoler un peu plus si le premier jet parait correct.
J'ai déjà remarqué, et traité, l'apostrophe qui était considérée comme une lettre normale et "l'un" comptait comme un seul mot. Si tu en connais d'autres ?
Je pensais sélectionner tout le texte si aucune sélection n'est faite, avec confirmation.
Et éventuellement ajouter une boite de dialogue pour paramétrer taille mini des mots, compteur min à sortir et nombre max de mots.
Hello Eriiic,
Oui on peut tout ça... Cependant, c'est quelque chose qui est quand même rarement demandée, et comme j'ai dit, ça se fait aussi en ligne rapidement.
Mais bon, à partir du moment où je le mets sur mon site, oui on peut peaufiner. Si tu veux, je peux compléter. Sinon, je te laisse faire ! ;)
Sur mon site y a beaucoup de choses, mais depuis un bout de temps, je fais tout toute seule... Je l'ai commencé en 2004 et petit à petit, les auteurs divers et variés m'ont abandonnées !!! Et vraiment j'accepte avec plaisir les idées nouvelles de ceux qui en ont, et les auteurs de macro ! ;)
m@rina
Oui on peut tout ça... Cependant, c'est quelque chose qui est quand même rarement demandée, et comme j'ai dit, ça se fait aussi en ligne rapidement.
Mais bon, à partir du moment où je le mets sur mon site, oui on peut peaufiner. Si tu veux, je peux compléter. Sinon, je te laisse faire ! ;)
Sur mon site y a beaucoup de choses, mais depuis un bout de temps, je fais tout toute seule... Je l'ai commencé en 2004 et petit à petit, les auteurs divers et variés m'ont abandonnées !!! Et vraiment j'accepte avec plaisir les idées nouvelles de ceux qui en ont, et les auteurs de macro ! ;)
m@rina
Bonjour, entre temps j'ai trouvé une autre solution hors EXCEL avec le logiciel gratuit NUAGE DE MOTS qui outre l'image des mots proportionnelle à leur nombre dans le texte (pour faire joli uniquement) , donne un fichier exportable sur EXCEL avec la liste de mots par fréquence d'apparition directement.
Ce que je voudrais (je suis exigeant), c'est un procédé fonctionnel qui te sorte d'un texte word, sans que tu aies à choisir le mot, les nombres de tous les mots différents. Pour analyser un TdR ou même un ouvrage quelconque ça ferait gagner un temps fou. Si jamais toi ou un(e) autre tu ont ça sous la main … qu'es ce que ça m'arrangerait !
Il y a en ligne des outils pour ça, comme par exemple
https://www.dcode.fr/compteur-mots
https://seoscout.com/tools/keyword-analyzer
et d'autres que je ne connais pas.
m@rina