Salut,
Merci pour cette réponse.
La fonction marche bien, 2 remarques cependant :
- J'ai un décalage de 1 sur toutes les valeurs de compte (quand il y a 5 noms, il n'en compte que 4)
=> du coup j'ai modifié la formule par ceci pour que cela fonctionne :
=SOMMEPROD((NBCAR(A2)-NBCAR(SUBSTITUE(A2,"|",""))+1))
- Il se peut que parfois, les cellules à compter se terminent par un séparateur et non pas un mot, du coup SOMMEPROD compte +1 lorsqu'il voit un séparateur en bout de chaine de caractère, ce qui est faux.
Exemple : mayo|ketchup|moutarde = en théorie on devrait compter 3 éléments, SOMMEPROD en compte 3 = ok
Exemple 2 : mayo|ketchup|moutarde| = en théorie on devrait compter 3 éléments toujours, SOMMEPROD en compte 4 = pas ok
Comment lui faire comprendre, qu'il y ait un séparateur en bout ou non, s'il n'y a pas de nom qui suit, ca ne compte pas ?
Merci si tu peux m'éclairer sur ces petites corrections,
G.
Ah et juste une dernière remarque :
Comme j'ai modifié la formule avec un "+1" :
- =SOMMEPROD((NBCAR(B2)-NBCAR(SUBSTITUE(B2,"|",""))+1))
Et bien les cellules où je n'ai aucun nom, au lieu de comtper "0", il compte "1", ce qui bien sur est faux.
Ce peut être corrigé plus tard mais cela exige une pirouette de +..
Y a-t'il moyen dès le départ de faire comprendre que s'il y a un vide, on doit compter 0 ?
Merci encore,
F.
Beh je vais m'auto-répondre pour le 2nd point, même si ca ne marche pas bien :
=(SI($K2="",$L2=0,(SOMMEPROD((NBCAR($K2)-NBCAR(SUBSTITUE($K2,"|",""))+1)))))
Même lorsqu'il trouve une cellule vide, il me marque un résultat (celui de la toute première ligne en l'occurrence, donc ca ne marche pas).
G.