calcul nombre de mots dans une cellule

  • Initiateur de la discussion Initiateur de la discussion karine
  • 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 !

K

karine

Guest
Bonjour à tous,

Est-il possible de faire un programmation simple pour calculer le nombre de mots dans une cellule ? Je cherche en fait une fonction identique au menu Outils/Statistiques dans Word.

Je suppose qu'il va falloir remplacer par des espaces tous les caractères de type :,;.?/=+!-_" etc... sauf ', appliquer la fonction supprespace et faire une boucle pour calculer ensuite le nombre d'espaces entre chaque mot. Mais tout ça me semble un peu compliqué...

Merci beaucoup pour votre aide.

Karine
 
Salut,

Un peu compliqué sans exemple, mais essaie ceci pour commencer :

Ta phrase en A1.

=NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))+1

Si cela ne te donne pas entièrement satisfaction, place un petit exemple.

Ândré.
 
Re : calcul nombre de mots dans une cellule

Bonjour,

je me permets de déterrer ce vieux sujet pour savoir s'il existe une autre solution que celle d'exécuter une macro pour supprimer tous les signes de ponctuation.
Comme la personne ci-dessus, je suis embêtée par des passages de texte en français qui ne sont pas comptabilisés comme les passages en anglais à cause des règles d'espacement double pour certains signes de ponctuation.

J'ai trouvé un programme d'extensions supplémentaires de formules sous Excel qui permet de spécifier soi-même les séparateurs que l'on veut prendre en compte (cf Ce lien n'existe plus) mais hélas ce programme ne fonctionne pas sous mac.

Y a-t-il un moyen de bidouiller les fonctions
=SI(NBCAR(SUPPRESPACE(A1))=0;0;NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))+1)
ou
=NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))+1
pour utiliser comme séparateurs non seulement les espaces, mais aussi les ,.?!:;/-()=<>#+*&% (et les guillemets !) ?

Avec les extensions de formules données par Morefunc", cela reviendrait sans doute à une formule du type
=NB.MOTS(A1; " ,.?!:;/-()=<>#+*&%")

(faudrait juste trouver encore comment intégrer aussi les guillemets sans que la formule croie que je veux mettre fin à la chaîne de séparateurs...)

Une idée ?
 
Re : calcul nombre de mots dans une cellule

ok, merci pour la réponse (ultra-rapide !) concernant les guillemets. 🙂
et y a-t-il uns solution pour intégrer ces séparateurs dans la formule de comptage de mots ? (cf mon message précédent)
 
Re : calcul nombre de mots dans une cellule

Re,

On peut ne pas utiliser Morefunc :

Code:
=SOMMEPROD(NBCAR(SUPPRESPACE(A1))-NBCAR(SUBSTITUE(SUPPRESPACE(A1);STXT(" ,"".?!:;/-()=<>#+*&%";LIGNE($1:$20);1);)))+1
ou en plus compliqué, si l'on veut être exhaustif :

Code:
=SOMMEPROD(NBCAR(SUPPRESPACE(A1))-NBCAR(SUBSTITUE(SUPPRESPACE(A1);STXT(" ,"".?!:;/-()=<>#+*&%";LIGNE(INDIRECT("1:"&NBCAR(" ,"".?!:;/-()=<>#+*&%")));1);)))+1
A+
 
Re : calcul nombre de mots dans une cellule

Merci de m'aider, Job75.
J'ai testé et je n'obtiens pas le résultat souhaité. Peut-être que je n'ai pas bien formulé ma question.
Je joins un fichier exemple.

J'y ai inséré les deux formules qui fonctionnent pour les textes en anglais par exemple et ensuite vos 2 formules, mais il faut sans doute y modifier encore un petit qqch. Sauf que pour moi c'est un peu du chinois et je ne vois pas ce qui cloche et qui fait que j'obtiens maintenant 57 au lieu de 36 :-(
 

Pièces jointes

Re : calcul nombre de mots dans une cellule

Re,

En fait il ne s'agit pas de séparateurs mais de caractères à supprimer, le vrai séparateur étant l'espace.

Cette formule ne peut fonctionner que sur Excel 2007 et versions suivantes (imbrications) :

Code:
=NBCAR(SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;",";);"""";);".";);"?";);"!";);":";);";";);"/";);"-";);"(";);")";);"=";);"<";);">";);"#";);"+";);"*";);"&";);"%";)))-NBCAR(SUBSTITUE(SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;",";);"""";);".";);"?";);"!";);":";);";";);"/";);"-";);"(";);")";);"=";);"<";);">";);"#";);"+";);"*";);"&";);"%";));" ";))+1
Après épuration il reste 35 mots, voir le fichier joint.

A+
 

Pièces jointes

Re : calcul nombre de mots dans une cellule

super 🙂

merci beaucoup.

j'ai juste complété pour qu'il ne mette pas "1" dans les cellules toutes vides.
ça donne :
=SI(ESTVIDE(A1);"";NBCAR(SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;","😉;""""😉;"."😉;"?"😉;"!"😉;":"😉;";"😉;"/"😉;"-"😉;"("😉;")"😉;"="😉;"<"😉;">"😉;"#"😉;"+"😉;"*"😉;"&"😉;"%"😉))-NBCAR(SUBSTITUE(SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;","😉;""""😉;"."😉;"?"😉;"!"😉;":"😉;";"😉;"/"😉;"-"😉;"("😉;")"😉;"="😉;"<"😉;">"😉;"#"😉;"+"😉;"*"😉;"&"😉;"%"😉);" "😉)+1)

encore un super grand merci pour cette aide précieuse et bonne fin de journée !

p.s.: le 35 au lieu du 36 est dû au fait que "peut-être" est comptabilisé comme un seul mot. de même pour les mots avec apostrophe. Mais pour moi cela ne pose pas de pb.
 
- 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
12
Affichages
683
Retour