Connaitre le palmares des mots les plus utilisés dans une plage
Résolu/Fermé
Toul31
-
18 juin 2013 à 11:56
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 19 juin 2013 à 18:21
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 19 juin 2013 à 18:21
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
- Où trouver tous les mots de passe enregistrés ? - Guide
- Excel cellule couleur si condition texte - Guide
3 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
19 juin 2013 à 00:48
19 juin 2013 à 00:48
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
redaiwa
Messages postés
351
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
25 janvier 2024
119
Modifié par redaiwa le 18/06/2013 à 15:19
Modifié par redaiwa le 18/06/2013 à 15:19
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. :)))
Toul31
Messages postés
3
Date d'inscription
mardi 18 juin 2013
Statut
Membre
Dernière intervention
19 juin 2013
18 juin 2013 à 22:46
18 juin 2013 à 22:46
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é.
redaiwa
Messages postés
351
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
25 janvier 2024
119
19 juin 2013 à 10:05
19 juin 2013 à 10:05
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. :)
Raymond PENTIER
Messages postés
58721
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
17 236
18 juin 2013 à 15:39
18 juin 2013 à 15:39
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 ?
Toul31
Messages postés
3
Date d'inscription
mardi 18 juin 2013
Statut
Membre
Dernière intervention
19 juin 2013
18 juin 2013 à 22:47
18 juin 2013 à 22:47
Merci mais non je n'ai pas de notion je cherche justement à savoir ce que les personnes demandent le plus souvent.
Raymond PENTIER
Messages postés
58721
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
15 novembre 2024
17 236
19 juin 2013 à 03:18
19 juin 2013 à 03:18
Alors ce n'est possible qu'avec une macro ... eriiic s'en occupe.
Ou alors demander aux utilisateurs de remplir une grille avec juste un mot-clé par cellule !
Ou alors demander aux utilisateurs de remplir une grille avec juste un mot-clé par cellule !
19 juin 2013 à 07:30
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 !
19 juin 2013 à 08:59
Merci. Bah, que du classique dedans :-)
Reste à réfléchir à des évols :-)
eric
19 juin 2013 à 09:59
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
Modifié par eriiic le 19/06/2013 à 13:57
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
19 juin 2013 à 17:51
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.