Compter le nombre de mots contenus dans 1 Cellule

Bonsoir,

Je suis à la recherche d'une fonction ou d'une macro qui me permette de compter des mots uniques séparés par une virgule (sauf le dernier) à l'intérieur d'une cellule.

Exemple: Si la Cellule E3 du tableau contient : caniche, bidon, ambulance, baignoire, savonnette, aiguille, échelle, boulon, épaule, maçon

Comment faire pour que la celulle F3 m'affiche le nombre de mots contenus en E3 donc le chiffre 10

Plus "complexe" mais de la même veine:

Comment faire pour additionner le contenu non pas d'une mais de plusieurs cellules qui peuvent contenir des mots (uniques) séparés par une virgule (sauf le dernier) allant d'une cellule vide (pas de mots=0) à "X" (X n'étant "in fine"aujourd'hui jamais supérieur à 10, mais à terme la limite haute sera 20)

Exemple: Dans le tableau ci-joint K3 contient 8 mots, M3 en contient 2, O3 en contient 10, Q3 n'en contient aucun, S3 en contient 2, U3 en contient 8, V3 n'en contient aucun, Y3 en contient 10.

Merci pour votre aide

FLourdin

Bonjour,

pour une cellule,

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

pour plusieurs cellules,

Sub test()
Set plg = Range("A1:A10")
For Each c In plg
 t = t + Len(c) - Len(Application.Substitute(c, ",", "")) + 1
Next
MsgBox t
End Sub

Édit:

ou bien une fonction perso

dans une cellule: =Nombre_mots_Plage(A1:A10;",")

Function Nombre_mots_Plage(plg As Range, separateur As String)
Dim t As Integer
 For Each c In plg
 t = t + Len(c) - Len(Application.Substitute(c, separateur, "")) + 1
Next
Nombre_mots_Plage = t
End Function

Bonjour,

Moi je l'aurai vu comme ça :

Function NbMots(cellule)
      t = Split(cellule, ",")
      i = UBound(t) + 1
      NbMots = i
End Function
Function NbMotsPlage(plage)
For Each o In plage
      t = Split(o, ",")
      i = UBound(t) + 1
      x = x + i + 1
Next
      NbMotsPlage = x
End Function

A+

Bonjour à tous,

@galopin01,

bien vue, excellent!

Bonjour le forum,

=NBCAR(E3)- NBCAR(SUBSTITUE(E3;",";""))+(E3<>"")*1

Re,

=NBCAR(K3)- NBCAR(SUBSTITUE(K3;",";""))+(K3<>"")*1+NBCAR(M3)- NBCAR(SUBSTITUE(M3;",";""))+(M3<>"")*1+NBCAR(O3)- NBCAR(SUBSTITUE(O3;",";""))+(O3<>"")*1+NBCAR(Q3)- NBCAR(SUBSTITUE(Q3;",";""))+(Q3<>"")*1+NBCAR(S3)- NBCAR(SUBSTITUE(S3;",";""))+(S3<>"")*1+NBCAR(U3)- NBCAR(SUBSTITUE(U3;",";""))+(U3<>"")*1+NBCAR(V3)- NBCAR(SUBSTITUE(V3;",";""))+(V3<>"")*1+NBCAR(Y3)- NBCAR(SUBSTITUE(Y3;",";""))+(Y3<>"")*1

Bonjour, Merci à tous, je n'ai plus qu'à....Je teste et je reviens vers vous pour clore le topic et boire un coup à votre santé en fin de journée.

Cdt,

FL

Le premier script est nickel et j'ai pu faire mon intégration très facilement. Merci Beaucoup

En ce qui concerne le second (celui des plages de donées) je suis bloqué par le fait que les cellulles de ma plage ne sont plus collées les unes aux autres de par l'ajout des colonnes de vérification. Ma plage de cellules de mots devient maintenant par exemple (mots en E3 + mots en G3 + mots en K3 + mots en M3). Un autre truc qui me chiffonne c'est que lorsque je séletionne 1 plage la fonction m'affiche un nombre supérieur de "1" au nombre de mots dans la cellule sélectionnée.

Re,

[quote=flourdin post_id=640153 time=1523398674 user_id=55504]

Je suis à la recherche d'une fonction ou d'une macro qui me permette de compter des mots uniques séparés par une virgule (sauf le dernier) à l'intérieur d'une cellule.

nbre mot s

Merci Mbbpp, j'ai utilisé le code de Galopin et c'est sur ce dernier que j'ai rencontré le souci. Je vais essayer avec le tien pour voir, mais en regardant le tableau que tu m'envoies, je ne vois pas la réponse à ma question (je ne suis pas hyper qualifié non plus...). Je mets un fichier en PJ pour illuster mon besoin (qui a évolué)

besoin2

Ma plage de données à vérifier est composée des données dans les cellulles de la table 1 (part A et B) en jaune (E et I) et des cellules de la table 2 (part A et B) en orange clair (G et K).

Je pourrais additionner des chiffres mais en réalité je dois vérifier au niveau des mots pour être sur que le bon nombre de mots et les bon mots ont été utilisés car lors du passage du test 2 je devrai faire des stats plus abouties, vérifier que le bon nombre de mots a été utilisés et si ce n'est pas le cas ressortir le nombre ET le (ou les) mot(s) exacts qui n'ont pas été utilisés (et qui auraient dû l'être) et invalider le test pour l'individu.

J'espère avoir été clair dans mes explications. Je posterai des écrans de la partie consacrée au TEST 2 d'ici peu.

Merci pour ton aide dans tous les cas

Rechercher des sujets similaires à "compter nombre mots contenus"