• Initiateur de la discussion Initiateur de la discussion AshkEnte
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

AshkEnte

Guest
Bonjour chers humains... 😉

Hum, j'aimerais réaliser quelque chose mais je ne vois pas vraiment comment le faire.

Pour faire dans le plus simple possible, je dispose d'un tableau de 100 lignes contenant par exemple 30 fois le mot "chien" et 70 fois le mot "chat". J'aimerais réaliser une macro permettant de compter le nombre de fois que chacuns de ces mots est écrit.

Pour par exemple pouvoir créer un graphique (dans cet exemple précis ce serait 30% de chien et 70% de chat).

Comment réaliser cela ? 😕

Merci !
 
Re : Compter du texte

Bonjour
Il suffit d'un nb.si

HTML:
=nb.si($a$1:$A$10;"*"&$B$1&"*")
avec en cellule B1 la recherche ( chat)
ou
=nb.si($a$1:$A$10;"*chat*")

EDIT Bonjour Dull, même idée
 
Dernière édition:
Re : Compter du texte

Salut AshkEnte et Bienvenu🙂, le Forum

Peut-être pas besoin d'une macro

avec la Formule dans une cellule

Code:
=NB.SI([COLOR=Navy]TaPlage[/COLOR];"*chien*")
tu obtiendra le nombre de cellules où le mot chien est inscrit

Un essai en pièce jointe

EDITION: Salut Bruno 🙂

Bonne Journée
 

Pièces jointes

Dernière édition:
Re : Compter du texte

Bonjour,

Les formules proposées par CB60 et Dull fonctionnent fort bien, mais ...
Elles prennent également en compte des mots comme "chiendent" ou "chatière".

Pour contourner ce problème on pourrait prendre comme critères : "* chien *" et "* chat *" (espaces avant et après) mais ...
Elles ne prennent pas en compte les mots cherchés si ceux-ci sont en début ou en fin de chaîne de caractère, comme "fidèle comme un chien", ou "chat échaudé craint l'eau froide".

Il faudrait donc faire la recherche sur des chaînes de caractères auxquelles on ajoute des espaces en début et en fin, mais ... cela devient du matriciel !
 
Re : Compter du texte

Bonjour,

Comme l'indique hoerwind, cela devient effectivement du matriciel.

Une solution avec SOMMEPROD (fonction matricielle qui permet d'éviter la validation CTRL + MAJ + ENTREE) :

Code:
=SOMMEPROD((ESTNUM(TROUVE(" "&"chat"&" ";" "&$A$1:$A$10&" "))*1))

@+
 
Re : Compter du texte

Bonjour Tibo,

Tu es vraiment trop gentil !
A donner des réponses "prêtes à l'emploi" il y a peu de chances que nos amis apprennent un jour à manipuler des formules matricielles.

Petite remarque toutefois, ta formule fonctionne fort bien, mais pas pour "chien, chat, cochon, couvée", ni pour "fidèle comme un chien." (avec un point comme dernier caractère).
Et ne parlons pas des !, -, ?, ...

De plus il faudrait que notre ami AshkEnte précise s'il veut aussi prendre en compte les pluriels (chats, chiens), sans parler des féminins.

Malgré mes recherches, je n'ai pas encore trouvé la formule idéale.
 
Re : Compter du texte

Bonjour,
Tu es vraiment trop gentil !
A donner des réponses "prêtes à l'emploi" il y a peu de chances que nos amis apprennent un jour à manipuler des formules matricielles.

Certes, mais dans le cas présent, notre ami semble avoir obtenu satisfaction avec les réponses précédentes. Et la solution que j'ai proposé s'apparente plus à une cerise sur le gâteau plutôt que de fournir une solution toute prête.

Cela dit, le domaine des formules matricielles est un peu difficile à aborder et pour ma part, je les pense davantage que je ne sais les expliquer. Il m'a d'ailleurs fallu de nombreuses années avant de m'y aventurer et c'est grâce à quelques maîtres ici présents que j'ai franchi le pas.

Enfin, si d'aventure un forumeur passait pour demander des précisions sur cette formule, c'est avec plaisir que je "tenterais" de fournir une explication.

Pour les points que tu évoques ensuite, on élève effectivement le débat. Je vais voir de mon côté si j'ai quelques neurones à y consacrer.

Au plaisir de te recroiser.

@+
 
Re : Compter du texte

Re Tibo,

Voici ce que j'avais trouvé pour les , et . (virgules et points) :
=SOMMEPROD((ESTNUM(TROUVE(" "&"chat"&" ";" "&SUBSTITUE(SUBSTITUE($A$1:$A$10;",";"");".";"")&" "))*1))

On peut y ajouter des SUBSTITUE (jusque 7) pour les autres caractères "gênants".
Mais pas encore de solution pour les pluriels et féminins, en dehors d'additionner des conditions sous le SOMMEPROD.
 
Dernière édition:
Re : Compter du texte

re,

Une ébauche de début de solution pour gérer les caractères indésirables :

Code:
=SOMMEPROD((ESTNUM(EQUIV(B1&{",";".";"!";"~?";":"};$A$1:$A$10;0))*1))

B1 contenant le mot à chercher

permet ainsi de gérer jusqu'à 30 caractères "indésirables"

Cette proposition est du brut de béton et demande à être affinée pour être intégrée dans une formule plus complète.

@+

Et j'en profite pour refaire une bise à Brigitte 😉🙂

@+
 
Re : Compter du texte

Bonjour à vous tous,

Un dernier point qui me semble bon d'être précisé.

Toutes les formules proposées comptent le nombre de cellules contenant le mot cherché (chat), mais non le nombre de mots cherchés dans la plage.
En d'autres mots, "Un chat peut cacher un autre chat" ne sera compté que pour une seule unité, alors que le mot y est présent deux fois.
 
Re : Compter du texte

Bonjour,

Histoire de prolonger le débat, un début de solution pour compter les mots qui seraient présents plusieurs fois dans une même cellule :

Code:
=SOMMEPROD((NBCAR($A$1:$A$10)-NBCAR(SUBSTITUE($A$1:$A$10;B1;"")))*1)/NBCAR(B1)

Avec en B1 le mot critère

Là aussi, formule à affiner pour intégration dans une autre formule globale

@+
 
Re : Compter du texte

Bonjour Tibo,

Comme tu dis, "ilniapluka".

Personnellement, si la question devait se poser, j'opterais pour une colonne supplémentaire (à additionner), ce qui simplifierait pas mal les choses, mais quand même avec une formule assez complexe.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
1 K
Réponses
0
Affichages
330
Retour