Connaitre le palmares des mots les plus utilisés dans une plage
Résolu
Toul31
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
SOS, j'ai un fichier dans lequel une colonne est reservée aux commentaires utilisateurs.
Je souhaiterais extraire de cette colonne, qui contient des cellules avec des phrases, les mots qui reviennent le plus souvent dans ces commentaires (excepté : à, du, le...) .
Merci pour votre aide.
SOS, j'ai un fichier dans lequel une colonne est reservée aux commentaires utilisateurs.
Je souhaiterais extraire de cette colonne, qui contient des cellules avec des phrases, les mots qui reviennent le plus souvent dans ces commentaires (excepté : à, du, le...) .
Merci pour votre aide.
A voir également:
- Trouver les mots les plus utilisés dans un texte
- Trouver adresse mac - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Ou trouver les mots de passe sur android - Guide
- Trouver un film sans le titre - Télécharger - Divers TV & Vidéo
- Transcription audio en texte word gratuit - Guide
3 réponses
Bonsoir,
une autre proposition, optimisée pour les grandes bases (travail en mémoire).
Critères à définir dans la feuille 'Listes' :
- liste des mots exclus en colonne A
- taille minimale des mots en C2
- Le texte est mis en minuscule, débarrassé des accents pour compter comme un même mot "réservée", "reservée", "reservee"
- Tous les caractères autres que [a-z] sont éliminés pour ne pas compter comme 2 mots "avion" et "l'avion". Corrolaire : les mots avec césure (-) seront donc séparés en 2 mots.
- Un "s" final est toujours supprimé, 'colonne" et "colonnes" sont un même mot.
https://www.cjoint.com/?CFtaVgE6jwO
eric
une autre proposition, optimisée pour les grandes bases (travail en mémoire).
Critères à définir dans la feuille 'Listes' :
- liste des mots exclus en colonne A
- taille minimale des mots en C2
- Le texte est mis en minuscule, débarrassé des accents pour compter comme un même mot "réservée", "reservée", "reservee"
- Tous les caractères autres que [a-z] sont éliminés pour ne pas compter comme 2 mots "avion" et "l'avion". Corrolaire : les mots avec césure (-) seront donc séparés en 2 mots.
- Un "s" final est toujours supprimé, 'colonne" et "colonnes" sont un même mot.
https://www.cjoint.com/?CFtaVgE6jwO
eric
Salam Toul31.
Ton problème revient à procéder comme suit :
1- extraire les mots un à un pour chaque ligne de commentaire
2- comparer chaque mot obtenu avec la liste des exceptions
3- si c'est une exception, passer au mot suivant
4- sinon le comparer avec la liste des mots du palmarès
5- si le mot existe déjà, augmenter de 1 son nombre d'occurrences
6- sinon (mot nouveau), l'ajouter à la liste du palmarès et lui attribuer un nombre d'occurrence de 1 (puisque c'est la première fois qu'il apparait)
7- continuer avec le mot suivant jusqu'à la fin des commentaires.
Ce qui se traduit par l'exemple suivant : https://www.cjoint.com/?CFsprp6hkvH
Cela répond-t-il à ta demande?
Si tu commences avec VBA, alors je t'invite à comparer la séquence d'instructions ci-dessus avec le code VBA. Sinon (si tu connais bien VBA), alors sois indulgent avec moi si mon code n'est pas vraiment optimal. :)))
Ton problème revient à procéder comme suit :
1- extraire les mots un à un pour chaque ligne de commentaire
2- comparer chaque mot obtenu avec la liste des exceptions
3- si c'est une exception, passer au mot suivant
4- sinon le comparer avec la liste des mots du palmarès
5- si le mot existe déjà, augmenter de 1 son nombre d'occurrences
6- sinon (mot nouveau), l'ajouter à la liste du palmarès et lui attribuer un nombre d'occurrence de 1 (puisque c'est la première fois qu'il apparait)
7- continuer avec le mot suivant jusqu'à la fin des commentaires.
Ce qui se traduit par l'exemple suivant : https://www.cjoint.com/?CFsprp6hkvH
Cela répond-t-il à ta demande?
Si tu commences avec VBA, alors je t'invite à comparer la séquence d'instructions ci-dessus avec le code VBA. Sinon (si tu connais bien VBA), alors sois indulgent avec moi si mon code n'est pas vraiment optimal. :)))
Merci pour ta réponse c'est tout à fait ça et je pensais bien que c'était une macro la solution mais je n'y connais rien en VBA.
Une question pour ajouter la cerise sur le gâteau : comment inclure dans la macro qu'en plus des exceptions cela ne doit pas prendre les mots de moins de 4 lettres. Mais c'est vraiment pour fignoler si tu as la réponse.
En tout cas merci beaucoup pour le fichier et pour la rapidité.
Une question pour ajouter la cerise sur le gâteau : comment inclure dans la macro qu'en plus des exceptions cela ne doit pas prendre les mots de moins de 4 lettres. Mais c'est vraiment pour fignoler si tu as la réponse.
En tout cas merci beaucoup pour le fichier et pour la rapidité.
Salam Toul31.
Bien que ta "cerise sur le gâteau" t'aie déjà été donnée par notre ami eriiic, je te propose une simple modification de l'exemple posté précédemment : https://www.cjoint.com/?CFtkbqktqzV
PS : pour lancer le comptage, il suffit juste d'activer la feuille "Palmarès" (cliquer sur son onglet).
L'essentiel est que tu trouves réponse à tes questions. :)
Bien que ta "cerise sur le gâteau" t'aie déjà été donnée par notre ami eriiic, je te propose une simple modification de l'exemple posté précédemment : https://www.cjoint.com/?CFtkbqktqzV
PS : pour lancer le comptage, il suffit juste d'activer la feuille "Palmarès" (cliquer sur son onglet).
L'essentiel est que tu trouves réponse à tes questions. :)
Bonjour Toul31.
Tu en demandes beaucoup, à un simple tableur !
Aurais-tu une liste préalable des mots dont tu rechercherais la fréquence, comme "argent - travail - emploi - sécurité" ou comme "garçon - fille - enfant - maître - instituteur - institutrice - école" ?
Sinon, combien de mots (exceptions y compris) au maximum peuvent se trouver dans un paragraphe ?
Tu en demandes beaucoup, à un simple tableur !
Aurais-tu une liste préalable des mots dont tu rechercherais la fréquence, comme "argent - travail - emploi - sécurité" ou comme "garçon - fille - enfant - maître - instituteur - institutrice - école" ?
Sinon, combien de mots (exceptions y compris) au maximum peuvent se trouver dans un paragraphe ?
Un grand coup de chapeau pour ce code avec un "plussoyer" ( je reviendrai plus tard pou en mettre d'autres) ;o)
Je fourgonne pour étudier tout ça à t^te reposée car c'est d'un sacré niveau !
Merci. Bah, que du classique dedans :-)
Reste à réfléchir à des évols :-)
eric
En son temps, pour faire joujou au petit train électrique j'avais utilisé les expressions rationnelles pour extraire des mots d'au moins N caractères y compris les accents
si ça t'intéresse, fais signe, je te l'enverrais en MP
Nouvelle version :
- suppression "s" final des mots optionnelle (oui/non)
- possibilité de définir 10 familles de mots regroupant le même concept. Chaque mot de la liste incrémentera le nom de la famille (par exemple mots positifs, négatifs). Les mots définis dans ces listes outrepassent les autres réglages. On peut s'en servir également pour comptabiliser des mots courts importants qui seraient sinon exclus par 'taille mot mini'.
https://www.cjoint.com/?CFtn5a4CgpG
@michel : oui bien sûr, peut-être que ça me fera le déclic. Plusieurs fois j'ai tenté de m'y mettre aux regex, mais je ne sais pas je dois être étanche, j'ai du mal à absorber :-s
eric
J'arrive bien à l'utiliser seule, mais par contre comme je n'y connais rien en VBA je n'arrive pas à l'inclure dans la 1ere macro donnée par redaiwa :
1- extraire les mots un à un pour chaque ligne de commentaire
2- exclure les mots < Taille mini 3 caract
2- comparer chaque mot obtenu avec la liste des exceptions
3- si c'est une exception, passer au mot suivant
4- sinon le comparer avec la liste des mots du palmarès
5- si le mot existe déjà, augmenter de 1 son nombre d'occurrences
6- sinon (mot nouveau), l'ajouter à la liste du palmarès et lui attribuer un nombre d'occurrence de 1 (puisque c'est la première fois qu'il apparait)
7- continuer avec le mot suivant jusqu'à la fin des commentaires.