Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Compte de mots dans un fichier Excel

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

E

ErwanJeg

Guest
Bonjour,

Je travaille sur des fichiers xls contenant uniquement du texte et je voudrais savoir s'il existe une fonction/macro/formule magique me permettant de faire un compte de mots dans une feuille directement plutôt que de recourir à l'épuisant à la longue Ctrl + C/Ctrl + V vers un fichier Word et utiliser l'outil statistique.
Merci d'avance,
Erwan
 
Re : Compte de mots dans un fichier Excel

Bonjour


Code:
Sub CountWords()
'auteur: [FONT=Arial][SIZE=1][COLOR=#800000]Charles H. Pearson  [/COLOR][/SIZE][/FONT]
    Dim WordCount As Long
    Dim Rng As Range
    Dim S As String
    Dim N As Long
    For Each Rng In ActiveSheet.UsedRange.Cells
        S =          Application.WorksheetFunction.Trim(Rng.Text)
        N = 0
        If S <> vbNullString Then
            N = Len(S) -  Len(Replace(S, " ", "")) + 1
        End If
        WordCount = WordCount + N
    Next Rng
    MsgBox "Words In ActiveSheet Sheet: " & Format(WordCount,"#,##0")
    End Sub
 
Re : Compte de mots dans un fichier Excel

Bonjour,

Un essai avec une formule sur une autre feuille :

Code:
=SOMMEPROD((NBCAR(Feuil1!A1:C5)-NBCAR(SUBSTITUE(Feuil1!A1:C5;" ";"")))*1)

Plage de cellules à adapter.

Cela dit, pour toute la feuille, ça rique de prendre un "certain" temps...

@+
 
Re : Compte de mots dans un fichier Excel

Bonjour Tibo,

Ne faudrait-il pas appliquer un SUPPRESPACE à cette formule (espaces superflus en fin de phrase) et ajouter le nombre de cellules non vides (il y a un mot de plus que d'espaces par cellule) ?

abcd
 
Re : Compte de mots dans un fichier Excel

Re, bonjour Tibo, abcd



En reprenant la macro précédente

Code:
Sub CountWords(feuille As String)
    Dim WordCount As Long
    Dim Rng As Range
    Dim S As String
    Dim N As Long
    For Each Rng In Sheets(feuille).UsedRange.Cells
        S = Application.WorksheetFunction.Trim(Rng.Text)
        N = 0
        If S <> vbNullString Then
            N = Len(S) - Len(Replace(S, " ", "")) + 1
        End If
        WordCount = WordCount + N
    Next Rng
    MsgBox "Nombre de mot(s) dans la feuille :" & Sheets(feuille).Name & Chr(13) & Format(WordCount, "#,##0")
End Sub
Code:
Sub compte_mots()
Dim nom_feuille As String
nom_feuille = InputBox("Saisir le nom de la feuille")
CountWords nom_feuille
End Sub
 
Re : Compte de mots dans un fichier Excel

re,

Après la remarque judicieuse de abcd, une correction :

Code:
=SOMMEPROD((NBCAR(SUPPRESPACE(Feuil1!A1:C5))-NBCAR(SUBSTITUE(
SUPPRESPACE(Feuil1!A1:C5);" ";""))))+NBVAL(Feuil1!A1:C5)

En supposant qu'aucune cellule ne contiennent qu'un espace (problème qui pourrait être résolu, mais qui alourdirait un peu la formule).

Merci abcd

@+
 
Re : Compte de mots dans un fichier Excel

Re Tibo,

Il me semble (non, j'en suis sur !) que SUPPRESPACE supprime l'espace solitaire dans une cellule.

A1 : espace
B1 : =NBCAR(A1) renvoie 1
B2 : =NBCAR(SUPPRESPACE(A1)) renvoie 0

Mais il faudrait aussi que le NBVAL en tienne compte !

abcd
 
Re : Compte de mots dans un fichier Excel

reSalut abcd,

Je crois avoir trouvé une piste pour tenir compte des cellules qui contiendraient un espace. Situation peu probable, mais on ne sait jamais ...

Code:
=SOMMEPROD((NBCAR(SUPPRESPACE(Feuil1!A1:C5))-NBCAR(SUBSTITUE(
SUPPRESPACE(Feuil1!A1:C5);" ";""))))+NBVAL(Feuil1!A1:C5)-SOMMEPROD(((NBCAR(
SUPPRESPACE(Feuil1!A1:C7))+ESTVIDE(Feuil1!A1:C7))=0)*1)

Y'a peut-être plus simple... je vais continuer à chercher.

@+
 
Re : Compte de mots dans un fichier Excel

Salut Tibo,

Assez simple avec une fonction de MorefunC :

=NBCAR(SUPPRESPACE(MCONCAT(A1:C10;" ")))-NBCAR(SUBSTITUE(MCONCAT(A1:C10);" ";""))+1

Le seule limite est 32767 caractères dans une cellule, mais cette limite était aussi valable pour les autres solutions.
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…