Excel ressort les occurences de mots clés ?

Bonjour,

J'ai un tableau avec une colonne et des milliers de lignes

Dans chacune de ces cellules, un ensemble de mots

Je voudrais qu' Excel me dise quels sont les mots qui ressortent le plus, et combien de fois

Par ex qu'il m'indique que le mot "chat" , qui se trouve en A3+A21+A27+xxx) ressort 858 fois

NB: Je ne veux pas chercher moi même les mots (en demandant par ex. dans combien de cellule on trouve "chat", ça c'est facile)

Dans l'idéal, il faudrait qu'il puisse faire cela pour les mots clés, autrement dit que ça marche aussi pour les ensembles de mots (ex: si "petit chat" ressort 47 fois)

Bonjour

Trouver tous les mots est faisable, assez facilement par PowerQuery intégré à ta version, en se basant sur l'espace et l'apostrophe mais on ne peux chercher les associations de mots du type "petit chat".

Fourni un exemple si tu veux plus de détails

Bonjour,

ça peut déjà être super ! power qui rit c'est où sur excel ?

les données sont chez moi... j'amène ça pour lundi

Hello,

Voilà un exemple de tableau

Bonjour,

Avec une fonction perso.

  • sélectionner D2:F200
  • =frequenceMot(A2:A1000)
  • Valider avec maj+ctrl+entrée

Boisgontier

Bonjour

Solution PowerQuery

Ne sachant ce que tu voulait j'ai sorti trois solution de tri

  • par ordre alpha des mots
  • avec classement par nombre décroissant + alpha
  • avec classement type Excel avec les ex æquo

Il ne faudra garder que la requête voulue...

Actualisation par Données, Actualiser tout

65compte-mots.xlsx (37.77 Ko)

Avec les combinaisons genre 'petit chat'

Boisgontier

46frequencemot2.xlsm (31.85 Ko)

Alors, oui c'est exactement ça qu'il me faut, merci à vous deux !

PAR CONTRE, je n'arrive pas à le faire !

  • pour PowerQuery aucune idée de la manip,
  • pour l'explication de Jacques, si je le fais sur ton Excel: ça marche, si je le fais sur un autre excel avec même type de tableau, ça marche pas ça me met juste #NOM?

Il faut:

  • Alt+F11
  • Insertion module
  • Copier/coller du code

J'ai crée une fonction qui donne le nombre de couples:

-sélectionner K2:M100

=frequencemot2(A2:A1000;" ")

-Valider avec maj+ctrl+entrée

Boisgontier

41frequencemot2.xlsm (36.43 Ko)

Re

- pour PowerQuery aucune idée de la manip,

Se placer dans une cellule de la liste initiale, mettre sous forme de tableau (aujourd'hui c'est la bonne pratique de travailler avec des tableau structurés et non des plages) et remplacer le nom automatiqueTableau1 par un nom signifiant : je l'ai appelé T_Mots

sans changer de cellule onglet Données, A partir d'un tableau : cela ouvre PowerQuery

  • sélectionner la colonne Keywords et onglet Transformer, Fractionner la colonne, par délimiteur, espace
  • sélectionner la colonne CPC, clic droit, supprimer le TCD des autres colonnes(ou dépivoter les autres colonnes selon la version). Dans la barre de formule corriger Valeur en Mot
  • onglet Transformer, Regrouper Par, Mot, compter les lignes
  • trier sur l'une ou l'autre colonne ou les deux.
    Si on veut un classement simple, le tri doit être par Nombre décroissant et Mot par ordre croissant puis onglet Ajouter une colonne, Colonne d'index, A partir de 1. Modifier dans la barre de formule Index en Rang
  • Si on préfère un classement à manière Excel continuer avec
    Transformer, Regrouper Par, Nombre, puis en ayant coché avancé, 2 calculs :
    Rang min Rang
    Data toutes les lignes
  • cliquer sur la double flèche près du titre Data puis choisir Mot
  • permuter les colonnes par glisser déplacer
  • sortir par Fermer et changer dans, Tableau et choisir l'emplacement
  • On peut allonger la source ou modifier la source il suffit d'actualiser par Données Actualiser tout

    Nb : à noter que l'utilisation de tableaux structurés n'empéche pas la solution de JB : la formule devient

    =frequencemot(T_Mots[Key];" ")

    ok je vais dans module et je copie colle quel code ?

    Il faut:

    • Alt+F11
    • Insertion module
    • Copier/coller du code

    J'ai crée une fonction qui donne le nombre de couples:

    -sélectionner K2:M100

    =frequencemot2(A2:A1000;" ")

    -Valider avec maj+ctrl+entrée

    Boisgontier

    ok je vais dans le module mais je copie colle quel code ?

    Bonsoir,

    Il faut copier/coller tout le code de module1 de mon fichier dans le tien.

    Sauvegarder en XLM

    Boisgontier

    Re

    - pour PowerQuery aucune idée de la manip,

    Se placer dans une cellule de la liste initiale, mettre sous forme de tableau (aujourd'hui c'est la bonne pratique de travailler avec des tableau structurés et non des plages) et remplacer le nom automatiqueTableau1 par un nom signifiant : je l'ai appelé T_Mots

    ça m' a pris du temps mais YES ça marche !

    Bonsoir,

    Il faut copier/coller tout le code de module1 de mon fichier dans le tien.

    Sauvegarder en XLM

    Boisgontier

    ok j'ai copié le code, mais ça marche pas, mon pc ou excel doit pas être compatible pour ajouter des macro .. quand je veux sauvegarder ça me mets que les fonctionnalités ne peuvent pas etre enregistré dans des classeurs sans macro (projet VB), et si je veux sauvegarder sous XML, ça me met "impossible car le classeur ne contient pas de mappages XML"

    ta fonction est carrément génial! mais tant pis ça veut pas sur mon pc, et ça a ouvert des alertes de sécurité à propos de ces macro bref trop compliqué pour moi

    MERCI à tous les deux

    RE

    Pour le code c'est le format xlsm (JB raisonne toujours dans les anciens formats) : sélectionner dans la liste des types de fichiers le second

    Avantage des combinaisons de mots mais effectivement il faut autoriser les macros...

    >ok j'ai copié le code, mais ça marche pas, mon pc ou excel doit pas être compatible pour ajouter des macro

    Si mes programmes fonctionnent, c'est que les macros sont autorisées.

    Boisgontier

    Rechercher des sujets similaires à "ressort occurences mots cles"