Bonjour,
n'accepte pas les vides
=SOMMEPROD(1/NB.SI(Z2:Z848;Z2:Z848))
valider avec maj+ctrl+entrée
accepte les vides
=SOMME(SI(Z2:Z848<>"";1/NB.SI(Z2:Z848;Z2:Z848)))
valider avec maj+ctrl+entrée
Méthode la + rapide.
Nb valeurs uniques:
Sub NbVaUniques()
Set f = Sheets("données_rapatriées")
Tbl = f.Range("z2:z" & f.[z65000].End(xlUp).Row).Value
Nlig = UBound(Tbl)
Set d = CreateObject("scripting.dictionary")
For i = 1 To Nlig
tmp = Tbl(i, 1)
d(tmp) = d(tmp) + 1
Next i
[AD2] = d.Count
End Sub
Valeurs uniques avec nb occurences:
Sub NbUniques()
Set f = Sheets("données_rapatriées")
Tbl = f.Range("z2:z" & f.[z65000].End(xlUp).Row).Value
Nlig = UBound(Tbl)
Set d = CreateObject("scripting.dictionary")
For i = 1 To Nlig
tmp = Tbl(i, 1)
d(tmp) = d(tmp) + 1
Next i
Set Rng = f.[AE2].Resize(d.Count, 2)
Rng.Resize(d.Count) = Application.Transpose(d.keys)
Rng.Offset(, 1).Resize(d.Count) = Application.Transpose(d.items)
Rng.Sort key1:=Rng.Offset(1, 1), Order1:=xlDescending, Header:=xlNo
End Sub
Ceuzin