Compter le nombre de valeurs differentes

dedecapsule

XLDnaute Nouveau
Bonjour à tous et bravo pour vos contributions !!!

Quelqu'un pourrait-il me dire comment je dois faire pour compter le nombre de valeurs différentes dans une colonne...

Par exemple, si dans ma colonne A, j'ai les valeurs suivantes :
A1 : 2
A2 : 2
A3 : 2
A4 : 3
A5 : 6
A6 : 6
je voudrais la formule qui me donne comme résultat '3', car j'ai 3 valeurs différentes (2, 3 et 6)

Merci d'avance !
 

JeanMarie

XLDnaute Barbatruc
Bonjour

Deux fonctions

=SOMMEPROD(1/NB.SI(A1:A20;A1:A20), elle ne fonctonne pas si la plage posséde des cellules vides, en revanche les valeurs alphanumériques sont prises en compte.

=SOMME((FREQUENCE(A:A;A:A)>0)*1), plus rapide que la précédente, il n'est pas besoin de définir une plage de cellules, les cellules vides et alphanumérique ne sont pas prises en compte,

@+Jean-Marie
 

porcinet82

XLDnaute Barbatruc
salut,

voila une petite macro à tester mais qui devrait effectuer ce que tu désires. par contre elle ne focntionne que si tes données sont triées.

Code:
Sub Compte_Val_Diff()
Dim Val1 As Variant
Dim Val2 As Variant
Dim Nb As Integer

Nb = 0
j = 0

Range('A1').Select
For i = 1 To Range('A65536').End(xlUp).Row
    Val1 = ActiveCell.Value
    Val2 = Selection.Offset(1, 0).Value
        If Val1 <> Val2 Then
            Nb = Nb + 1
            Selection.Offset(1, 0).Select
        Else
            Selection.Offset(1, 0).Select
        End If
    j = j + 1
Next i
MsgBox 'Il y a ' & Nb & ' valeurs différentes'
End Sub

bon courage

@+
 

Talamaure

XLDnaute Nouveau
Re : Compter le nombre de valeurs differentes

bonjour!

je relance le débat, car les formules SOMME et SOMMEPROD ne marchent pas dans mon cas: je veux compter le nombre de valeurs différentes dans une plage de cellule, en l'occurence la colonne F. les cellules vides ne doivent pas êtres prises en compte.
par contre les données à compter sont des emplacements de racks et contiennent par conséquent des lettres et des chiffres.

une idée??

merci bien!

Christelle
 

JeanMarie

XLDnaute Barbatruc
Re : Compter le nombre de valeurs differentes

Bonjour Talamaure

Fait des recherches sur ce forum.

Les formules précédement indiquées doivent gérées les cellules vides, et les données textes et numériques.

Si tu ne trouves pas, transmet un bout de ton fichier sans données confidentielles.

@+Jean-Marie
 

CISCO

XLDnaute Barbatruc
Re : Compter le nombre de valeurs differentes

Bonjour

En pièce jointe, deux possibilités, malheureusement, avec une colonne intermédiaire. A toi de voir si c'est adaptable à ton cas.

@ plus
 

Pièces jointes

  • aaaaa.xls
    22.5 KB · Affichages: 3 757
  • aaaaa.xls
    22.5 KB · Affichages: 3 979
  • aaaaa.xls
    22.5 KB · Affichages: 4 017

hoerwind

XLDnaute Barbatruc
Re : Compter le nombre de valeurs differentes

Bonjour,

Sur l'exemple de Cisco (que je salue au passage, ainsi que les autres), sans colonne intermédiaire :

=SOMME(SI(NBCAR(A3:A18);1/NB.SI(A3:A18;A3:A18)))
formule matricielle, à valider par Ctrl+Maj+Entrée
 

JeanMarie

XLDnaute Barbatruc
Re : Compter le nombre de valeurs differentes

Re...

Suivant le fichier de Cisco, une formule en cellule D6
=SOMME((FREQUENCE(SI(A3:A18<>"";EQUIV(A3:A18;A3:A18;0));LIGNE(1:16))>0)*1)
La plage 1:16 doit toujours commencer en ligne 1 et avoir la même longueur de la A3:A18.

On peut supprimer la la fonction NBCAR dans la proposition de hoerwind
=SOMME(SI(A3:A18<>"";1/NB.SI(A3:A18;A3:A18)))

@+Jean-Marie
 

hdzpeter

XLDnaute Nouveau
Re : Compter le nombre de valeurs differentes

bonjour a tous
j'ai lu la discussion mais je voudrais un complément

1 a
2 a
3 a
3 b
4 b

les proposition précédente fonctionnent , mais je voudrais ajouter une condition de tel sorte que je puisse obtenir les nombre de caractère différents correspondant au caractère de la deuxième colonne
exemple:
si(A1=a;SOMME((FREQUENCE($A:$A;$A:$A)>0)*1);"")


merci


merci
 

david84

XLDnaute Barbatruc
Re : Compter le nombre de valeurs differentes

Bonsoir,
cf fichier ci-joint.
Cordialement

Edit : la formule figurant sur le fichier na pas été validée matriciellement. Le résultat indiqué n'est donc pas le bon. Pour le modifier, cliquer dans la cellule, appuyer sur F2 et valider en appuyant simultanément sur ctrl, maj et entrée.

J'ai finalement modifié moi-même le fichier.
 

Pièces jointes

  • Nbre_diff_critere_nom.xls
    20 KB · Affichages: 3 178
Dernière édition:

bcharef

XLDnaute Accro
Re : Compter le nombre de valeurs differentes

Bonjour à toutes et à tous.

Un autre essai avec une formule matricielle:

Code:
=SOMME(SI(B1:B7="ROGER";SI(EQUIV(A1:A7;A:A;0)=LIGNE(A1:A7);1;0)))

A valider par CTRL + MAJ + ENTREE

Cordialement.

BCharef
 

Discussions similaires