Comptage d'articles par categorie

Bonjour,

Je souhaite compter combien d'articles figurent dans chaque ville !

Pour faire simple, dans le fichier joint, pour l'onglet "ville_article" en colonne A, les villes où se trouvent les articles ; en colonne B, les articles considérés.

Dans l'onglet "comptage", j'ai listé chaque ville concernée et je voudrais calculer en colonne B, le nombre d'articles disponibles dans chaque ville.

Bien sûr, je pourrais faire un tri par article, mais comme il y en a beaucoup, ce serait fastidieux !

Merci pour votre aide

Gérard

12ville-article.xlsx (257.31 Ko)

Bonjour le Forum,

Bonjour Gérard7,

Bon dans ta demande je ne sais pas si tu veux le nombre d'article différend par ville ou le nombre total d'article par ville, alors dans le fichier joint une formule pour le nombre d'articles différents par ville.

Attention formule matricielle sur plus de 15000 ligne le temps de calcul est très long du VBA serait plus indiqué mais je suis une bille a ce jeu la

si tu veux compter la totalité des article par ville la formule serait

=sommeprod((villes=A2)*1)

a étirer vers le bas

Cordialement

8ville-article.xlsx (256.77 Ko)

Bonjour Gérard7,

Voyez le fichier joint

Bonjour à tous,

Une solution VBA :

Option Explicit
Sub test()
Dim a, i As Long, dico As Object, r As Range, rng As Range
    Set dico = CreateObject("Scripting.Dictionary")
    dico.CompareMode = 1
    With Sheets("ville_article")
        a = .Range("a1").CurrentRegion.Value
        For i = 2 To UBound(a, 1)
            If Not dico.exists(a(i, 1)) Then
                Set dico(a(i, 1)) = _
                CreateObject("Scripting.Dictionary")
                dico(a(i, 1)).CompareMode = 1
            End If
            dico(a(i, 1))(a(i, 2)) = Empty
        Next
    End With
    With Sheets("comptage")
        Set rng = .Range("a2", .Range("a" & Rows.Count).End(xlUp))
    End With
    For Each r In rng
        If dico.exists(r.Value) Then
            r(, 2).Value = dico(r.Value).Count
        End If
    Next
    Set dico = Nothing
End Sub

klin89

Bonsoir à vous 3 et merci pour vos réponses rapides.

Je constate que les résultats avec la macro sont équivalent de ceux du calcul avec la formule "SOMMEPROD", cependant la réponse via la macro est immédiate, alors que le calcul par la formule fait tourner les 4 processeurs pendant près de 2 minutes!

Les 2 approches renvoient le nombre d'articles différents pour chaque ville.

Le calcul avec la formule "NB.SI.ENS" renvoie le nombre total d'articles pour chaque ville indépendamment du type d'article

Cependant, comme le mentionnait débutant86 dans sa réponse, ma question était effectivement trop imprécise :

Ce que je cherche est bien la quantité de CHAQUE article pour CHAQUE ville avec une présentation d'un résultat par colonne et autant de colonnes que d'articles ! La ville qui a le plus d'articles différents est Londres (avec 52 articles).

Je pense qu'un résultat avec une macro s'avère préférable.

Merci pour vos commentaires et retours

Gérard

Bonjour

Par TCD

13ville-articletcd.xlsx (488.92 Ko)

Merci, parfait ! C'est exactement ce qu'il me fallait. Et la méthode est très simple.

A une autre fois

Gérard

Rechercher des sujets similaires à "comptage articles categorie"