zeduky
XLDnaute Nouveau
Bonjour à tous,
J'ai besoin de compter les mots d'une feuille de calcul en enlevant les caractères spéciaux tel que les espaces les ? ! $£ : etc ... j'ai bien trouvé une formule excel,mais très lourde et difficile à faire manipuler !! à mes collègues.
=SOMME(SI(NBCAR(SUPPRESPACE(DECALER(A1;1;0;NBVAL(A:A))))=0;0;NBCAR(SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(DECALER(A1;1;0;NBVAL(A:A));",";" ");"?";" ");";";" ");".";" ");":";" ");"/";" ");"!";" ");"§";" ");"&";" ");"'";" ");"(";" ");"-";"");"_";" ");"@";" ");")";" ");"=";" ");"1";" ");"2";" ");"3";" ");"4";" ");"5";" ");"6";" ");"7";" ");"8";" ");"9";" ");"0";" ");"€";" ");"$";" ");"£";" ");"%";" ")))-NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(DECALER(A1;1;0;NBVAL(A:A));",";" ");"?";" ");";";" ");".";" ");":";" ");"/";" ");"!";" ");"§";" ");"&";" ");"'";" ");"(";" ");"-";"");"_";" ");"@";" ");")";" ");"=";" ");"1";" ");"2";" ");"3";" ");"4";" ");"5";" ");"6";" ");"7";" ");"8";" ");"9";" ");"0";" ");"€";" ");"$";" ");"£";" ");"%";" ");" ";""))+1))
Auriez vous une solution function vba avec function nbmots qui me convient bien si je pouvais intégrer de ne pas compter tous les caractères spéciaux et espaces !!
Public Function nbmots(cellules As Range)
Dim c As Range
Dim tablo
For Each c In cellules
tablo = Split(c, " ")
nbmots = nbmots + UBound(tablo) + 1
Next c
End Function
Milles merci d'avance
Pascal
J'ai besoin de compter les mots d'une feuille de calcul en enlevant les caractères spéciaux tel que les espaces les ? ! $£ : etc ... j'ai bien trouvé une formule excel,mais très lourde et difficile à faire manipuler !! à mes collègues.
=SOMME(SI(NBCAR(SUPPRESPACE(DECALER(A1;1;0;NBVAL(A:A))))=0;0;NBCAR(SUPPRESPACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(DECALER(A1;1;0;NBVAL(A:A));",";" ");"?";" ");";";" ");".";" ");":";" ");"/";" ");"!";" ");"§";" ");"&";" ");"'";" ");"(";" ");"-";"");"_";" ");"@";" ");")";" ");"=";" ");"1";" ");"2";" ");"3";" ");"4";" ");"5";" ");"6";" ");"7";" ");"8";" ");"9";" ");"0";" ");"€";" ");"$";" ");"£";" ");"%";" ")))-NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(DECALER(A1;1;0;NBVAL(A:A));",";" ");"?";" ");";";" ");".";" ");":";" ");"/";" ");"!";" ");"§";" ");"&";" ");"'";" ");"(";" ");"-";"");"_";" ");"@";" ");")";" ");"=";" ");"1";" ");"2";" ");"3";" ");"4";" ");"5";" ");"6";" ");"7";" ");"8";" ");"9";" ");"0";" ");"€";" ");"$";" ");"£";" ");"%";" ");" ";""))+1))
Auriez vous une solution function vba avec function nbmots qui me convient bien si je pouvais intégrer de ne pas compter tous les caractères spéciaux et espaces !!
Public Function nbmots(cellules As Range)
Dim c As Range
Dim tablo
For Each c In cellules
tablo = Split(c, " ")
nbmots = nbmots + UBound(tablo) + 1
Next c
End Function
Milles merci d'avance
Pascal