Bonsoir Pat, Bonsoir Charly,
Juste pour ajouter une explication et d'autres possibilités:
Pour le comptage de valeurs différentes, la formule utilisée est la suivante:
{=Somme(1/NB.SI(plage;plage)} à saisir sous forme matricielle (en faisant Ctrl Maj Entrée au lieu de Entrée).
Si on veut compter par exemple le nombre de valeurs différentes dans la suite a d c a d b e
NB.SI(Plage;plage) va créer une matrice avec pour chaque cellule, le nombre d'occurences soit dans cet exemple:
a d c a d b e donnera 2 2 1 2 2 1 1
Le 1/nb.si va donner 1/2 1/2 1 1/2 1/2 1 1
et la somme de tout ça fera bien 5. En fait on obtient pour chaque valeur N*1/N soit 1.
Ce mode de calcul peut cependant poser un problème lorsque 1/N donne un résultat avec un nombre de décimales trop important:
Si une valeur est présente 4 fois dans une liste, on aura 1/N=1/4=0,25 et 4*1/N=1 mais si N=3, 1/N=1/3=0,333333333 et 3*0,333333333 donnera 0,999999999 et non pas 1. C'est pourquoi dans certains cas (valeurs présentes, 3,7,8... fois) et avec certaines fonctions, les résultats peuvent être altérés.
Une autre formule est aussi efficace mais seulement avec des nombres:
{=SOMME(N(FREQUENCE(Plage;Plage)>0))}
Tu peux également técharger une macro complémentaire MOREFUN.XLL qui contient une fonction NB.DIFF qui a l'avantage d'être plus simple et plus rapide si tu as des plages importantes.
Adresse du téléchargement : Ce lien n'existe plus
nom de la macro: morefun.xll
@+
Gael