Comment obtenir le nombre de mots dans Excel (à l'aide de formules simples)

Vous voulez obtenir le nombre de mots dans Excel ? Croyez-le ou non, Excel n'a pas de compteur de mots intégré.

Mais ne vous inquiétez pas.

Un groupe sympa de fonctions Excel (ou un peu de VBA si vous vous sentez d'humeur) peut facilement le faire pour vous.

Dans ce didacticiel, je vais montrer quelques façons de compter des mots dans Excel à l'aide de formules simples. Et à la fin, couvrira également une technique pour créer une formule personnalisée à l'aide de VBA qui vous donnera rapidement le nombre de mots de n'importe quel texte dans n'importe quelle cellule.

Formule pour obtenir le nombre de mots dans Excel

Avant de vous donner la formule exacte, couvrons rapidement la logique pour obtenir le nombre de mots.

Supposons que j'ai une phrase comme indiqué ci-dessous pour laquelle je veux obtenir le nombre de mots.

Bien qu'Excel ne puisse pas compter le nombre de mots, il peut compter le nombre d'espaces dans une phrase.

Donc, pour obtenir le nombre de mots, nous pouvons compter ces espaces au lieu de mots et ajouter 1 au total (car le nombre d'espaces serait un de moins le nombre de mots).

Maintenant, il peut y avoir deux possibilités :

  1. Il y a un seul espace entre chaque mot
  2. Il y a plusieurs espaces entre les mots.

Voyons donc comment compter le nombre total de mots dans chaque cas.

Exemple 1 - Lorsqu'il y a un seul espace entre les mots

Disons que j'ai le texte suivant dans la cellule A1 : Laissez le chat sortir du sac

Pour compter le nombre de mots, voici la formule que j'utiliserais :

=LEN(A1)-LEN(REMPLACER(A1," ",""))+1

Cela renverrait « 7 » en conséquence.

Voici comment fonctionne cette formule :

  • LON(A1) - Cette partie de la formule renvoie 26, ce qui correspond au nombre total de caractères dans le texte de la cellule A1. Il comprend les caractères de texte ainsi que les caractères d'espacement.
  • REMPLACER (A1," ","") - Cette partie de la formule supprime tous les espaces du texte. Le résultat, dans ce cas, serait donc Laisse le chat en dehors du sac.
  • LEN(REMPLACER(A1," ",“”) - Cette partie de la formule compte le nombre total de caractères dans le texte qui n'a pas d'espace. Le résultat serait donc 20.
  • LEN(A1)-LEN(REMPLACER(A1," ",“”)) - Cela soustrait la longueur du texte sans espaces de la longueur du texte avec espaces. Dans l'exemple ci-dessus, ce serait 26-20 qui est 6.
  • =LEN(A1)-LEN(REMPLACER(A1," ",“”))+1 - Nous ajoutons 1 au résultat global car le nombre total d'espaces est un de moins que le nombre total de mots. Par exemple, il y a un espace dans deux mots et deux espaces dans trois mots.

Maintenant, cela fonctionne bien si vous n'avez qu'un seul caractère d'espace entre les mots. Mais cela ne fonctionnerait pas si vous aviez plus d'un espace entre les mots.

Dans ce cas, utilisez la formule de l'exemple suivant.

Exemple 2 : lorsqu'il y a plusieurs espaces entre les mots

Disons que vous avez le texte suivant : Laissez le chat sortir du sac

Dans ce cas, il y a plusieurs espaces entre les mots.

Pour obtenir le nombre de mots, nous devons d'abord supprimer tous les espaces supplémentaires (de sorte qu'il n'y a qu'un seul caractère d'espace entre deux mots), puis compter le nombre total d'espaces.

Voici la formule qui nous donnera le bon nombre de mots :

=LEN(AJUSTER(A1))-LEN(REMPLACER(A1," ",""))+1

Il s'agit d'une formule similaire à celle utilisée dans l'exemple ci-dessus, avec un léger changement - nous avons également utilisé la fonction TRIM ici.

La fonction Excel TRIM supprime tous les espaces de début, de fin et supplémentaires (à l'exception des espaces simples entre les mots).

Le reste de la formule fonctionne de la même manière (comme expliqué dans l'exemple 1).

Remarque : S'il n'y a pas d'espace entre les mots, il est considéré comme un seul mot.

Utilisation de la fonction personnalisée VBA pour compter les mots dans Excel

Bien que les formules ci-dessus fonctionnent très bien, si vous avez souvent besoin de calculer le nombre de mots, vous pouvez utiliser VBA pour créer une fonction personnalisée (également appelée fonction définie par l'utilisateur).

L'avantage d'utiliser une fonction personnalisée est que vous pouvez la créer une fois, puis l'utiliser comme n'importe quelle autre fonction Excel standard. Ainsi, au lieu de créer une longue formule complexe comme nous l'avons fait dans les deux exemples ci-dessus, vous disposez d'une formule simple qui prend la référence de la cellule et vous donne instantanément le nombre de mots.

Voici le code qui créera cette fonction personnalisée pour obtenir le nombre de mots dans Excel.

Function WordCount(CellRef As Range) Dim TextStrng As String Dim Result() As String Result = Split(WorksheetFunction.Trim(CellRef.Text), " ") WordCount = UBound(Result()) + 1 End Function

Une fois créée, vous pouvez utiliser la fonction WordCount comme n'importe quelle autre fonction Excel standard.

Dans le code ci-dessus pour la fonction personnalisée, j'ai utilisé la fonction TRIM de la feuille de calcul pour supprimer les espaces de début, de fin et doubles entre les mots. Cela garantit que les trois cellules donnent le même résultat, car seuls les mots sont comptés et non les doubles espaces.

Comment fonctionne cette formule :

Le code VBA ci-dessus utilise d'abord la fonction TRIM pour supprimer tous les espaces de début, de fin et doubles de la chaîne de texte dans la cellule référencée.

Une fois qu'il a la chaîne nettoyée, il utilise la fonction SPLIT dans VBA pour diviser la chaîne de texte en fonction du délimiteur, que nous avons spécifié comme étant le caractère espace. Ainsi, chaque mot est séparé car stocké en tant qu'élément distinct dans la variable Résultat.

Nous utilisons ensuite la fonction UBOUND pour compter le nombre total d'éléments stockés dans les variables de résultat. Puisque VBA a une base de 0, nous devons ajouter 1 pour obtenir le nombre total de mots.

Cela signifie que Result(0) stocke le premier mot, Result(1) stocke le deuxième mot, et ainsi de suite. Étant donné que ce comptage commence à partir de 0, nous devons ajouter 1 pour obtenir le nombre réel de mots.

Où mettre ce code ?

Lors de la création d'une fonction personnalisée, vous devez placer le code dans l'éditeur VB du classeur (qui est l'arrière-plan du classeur où vous pouvez écrire du code pour automatiser des tâches et créer des fonctions personnalisées).

Vous trouverez ci-dessous les étapes pour mettre le code de la fonction « GetNumeric » dans le classeur.

  1. Allez dans l'onglet Développeur.
  2. Cliquez sur l'option Visual Basic. Cela ouvrira l'éditeur VB dans le backend.
  3. Dans le volet Explorateur de projets de l'éditeur VB, cliquez avec le bouton droit sur n'importe quel objet du classeur dans lequel vous souhaitez insérer le code. Si vous ne voyez pas l'Explorateur de projets, accédez à l'onglet Affichage et cliquez sur Explorateur de projets.
  4. Allez dans Insérer et cliquez sur Module. Cela insérera un objet module pour votre classeur.
  5. Copiez et collez le code dans la fenêtre du module.

Une fois que vous avez copié le code dans la fenêtre de code, vous pouvez revenir à votre feuille de calcul et utiliser cette fonction comme n'importe quelle autre fonction Excel standard.

Tapez simplement = mot et il vous montrera la formule dans la liste.

Il prend un argument, qui est la référence de la cellule et vous donne instantanément le nombre de mots qu'il contient.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave