Compter le nombre de modalités
Résolu
Bonjour,
Je cherche une formule en VBA pour obtenir le nombre de modalités différentes d'une colonne.
Je vous remercie.
Cordialement
Je cherche une formule en VBA pour obtenir le nombre de modalités différentes d'une colonne.
Je vous remercie.
Cordialement
5 réponses
-
ContributeurBonjour
sans VBA, pour un champ de B2 à B28, à adapter
=SOMME(SI(B2:B38<>"";1/NB.SI(B2:B38;B2:B38)))
formule matricielle à entrer avec la touche enter en maintenant les touches ctrl et shift enfoncées
crdlmnt
-
Bonsoir Vaucluse,
je vous remercie mais je recherche une formule vba svp. -
Bonjour Eric,
je vous remercie.
La solution se précise:
la formule Range("G11") = Evaluate("=SUMPRODUCT( 1/COUNTIF(AF3:AF242,AF3:AF242) )") fonctionne bien.
Mais je voudrais travailler sur une colonne dont la taille est dynamique et la formule ci-dessous renvoie une erreur "#valeur".
Range("G11") = Evaluate("=SUMPRODUCT( 1/COUNTIF(AF3:AF " & der_lig & ",AF3:AF" & der_lig & ") )")
Merci de votre aide.
Bonne journée. -
ContributeurBonjour à tous
Puisque tu veux utiliser du VBa, il y a des objets "prets à cuire" qui existent dans ce langage. dans ton cas l'objet dictionary
par exemple avec colonne de taille variable
Option Explicit
'--------
Sub decompter_occurences()
Dim Dico As Object, Derlig As Integer, Tablo
Dim Idx As Integer
Application.ScreenUpdating = False
With Sheets(1)
Set Dico = CreateObject("scripting.dictionary")
Derlig = .Columns("G").Find(what:="*", searchdirection:=xlPrevious).Row
Tablo = .Range("G2:G" & Derlig)
For Idx = 1 To UBound(Tablo)
If Not Dico.exists(Tablo(Idx, 1)) Then: Dico.Add Tablo(Idx, 1), ""
Next
MsgBox Dico.Count & " occurences colonne G"
End With
End Sub
la maquette:
https://mon-partage.fr/f/McOHUqDR/
-
Bonjour Michel,
je vous remercie de votre réponse.
C'est plus compliqué pour moi mais cela fonctionne nickel.
Merci à tous.