Compter le nombre d'occurence pour chaque référence

Et ainsi :

Sub CompteOccur()
with activesheet.usedrange 'zone utilisée de la feuille active
    t = .value
    dico = arrdictionary(t, 7, 8) '7 et 8 sont les colonnes qui permettront de former la clé de recherche
    .cells(1, .columns.count + 1).resize(ubound(dico), 2).value = dico
end with
end sub

Function arrdictionary(datas As Variant, colcle&, colelem&)
Dim temp(), i&, j&, n&, doublon As Boolean
ReDim temp(1 to 3, 1 to 1)
For i = LBound(datas) To UBound(datas)
    For j = LBound(temp, 2) To UBound(temp, 2)
        If datas(i, colcle) = temp(1, j) then
            if not temp(3, j) like "*" & datas(i, colelem) & "*" Then
                doublon = True
                temp(2, j) = temp(2, j) + 1
                temp(3, j) = temp(3, j) & "-" & datas(i, colelem)
                Exit For
            else: doublon = true
            end if
        End If
    Next j
    If Not doublon Then
        n = n + 1
        ReDim Preserve temp(1 to 3, 1 to n)
        temp(1, n) = datas(i, colcle)
        temp(2, n) = 1
        temp(3, n) = datas(i, colelem)
    End If
    doublon = False
Next i
arrdictionary = Application.Transpose(temp)
End Function

C'est parfait! Merci beaucoup!

Que dois-je modifier si je veux que mon tableau commence en T5 (colonne Pn en T)?

Est-ce l'on peut ajouter la désignation correspondante pour chaque Pn?

RE à tous

En quelques clics avec PowerQuery... sur PC

PowerQuery se moque de la position du tableau, seuls comptent les titres des colonnes

A noter que dans le TCD posté Hier à 14:37 en enlevant Sn du TCD on avait déjà le résultat escompté...

Bonjour 78chris! Je te remercie pour ton aide. Malheureusement je ne peux pas utiliser les Power...

3GB j'ai un petit soucis. Pour certaines références qui commencent par 0 ceux-ci sont effacés par votre macro.

Par exemple, la référence 00000694 devient 694

RE

Bonjour 78chris! Je te remercie pour ton aide. Malheureusement je ne peux pas utiliser les Power...

Pense à noter 2016 Mac sur ton profil et pas seulement 2016

Re à tous,

Dans la macro, tu peux déjà rajouter un exit for oublié dans le second if de la boucle sur j :

else: doublon = true: exit for

Pour ce problème, il faudra probablement le régler avec un format personnalisé...

Cette macro est à adapter :

Sub CompteOccur()
with activesheet
    t = .range("refdemabase").value
    dico = arrdictionary(t, 7, 8) '7 et 8 sont les colonnes qui permettront de former la clé de recherche
    .range("T5").resize(ubound(dico), 2).value = dico
end with
end sub

Pour la désignation correspondante, je ne suis pas sûr de saisir vu qu'il y en a plusieurs...

Il est possible de faire resize(ubound(dico), 3) pour avoir les Sn mais il y aura des répétitions...

Le dernier Sub CompteOccur() que vous m'avez envoyé doit-il permettre cet affichage personnalisé?

En l'essayant j'obtiens l'erreur suivante :

Erreur définie par l'application ou par l'objet

sur la ligne suivante :

    t = .range("refdemabase").value
Rechercher des sujets similaires à "compter nombre occurence chaque reference"