Trouver le nombre de valeurs

Résolu
EZV12 Messages postés 22 Statut Membre -  
EZV12 Messages postés 22 Statut Membre -
Bonjour,

Je voudrais avoir un formule pour trouver le nombre de valeurs dans la colonne B qui correspond à une valeur dans la colonne A.

Veuillez trouver un exemple ci-dessous: il y a 3 clients qui achètent le produit 1 & 2 clients qui achète produit 2.

colonne A colonne B
ligne 1 produit 1 client x
ligne 2 produit 1 client y
ligne 3 produit 2 cleint z
ligne 4 produit 1 client o
ligne 5 produit 2 client p

Merci de m'aider à trouver le bon ou les bons formules. C'est urgent!!
Bien cordialement

5 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour

    =NB.SI(B:B;"produit1")

    si bien sur vous n'avez qu'une fois le nom du client pour chaque produit dans la colonne B

    crdlmnt
    0
    1. EZV12 Messages postés 22 Statut Membre
       
      merci de votre réponse rapide, mais ça ne marche pas. Faut-il un formule matricielle? A la place de "produit 1", je dois mettre A1 par exemple car j'ai une très longue liste de produit, il me faut un formule qui va chercher le nombre de valeurs dans la colonne B qui correspondent à la valeur dans la colonne A.
      0
    2. EZV12 Messages postés 22 Statut Membre
       
      j'ai une longue liste de produits & clients, j'ai besoin de savoir combien de clients achète chaque produit. merci de m'aider à trouver la solution.
      0
    3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      je ne vois pas ce qui ne va pas

      pour compter le nombre de produit dont le nom est inscrit par exemple en L1, il suffit de compter combien de fois iapparait dans la colonne A, non?
      sauf bien sur comme déjà dit plus haut, vous pouvez avoir plusieurs fois le même client qui achète le même produit.

      donc:
      NB.SI(A:A;L1)

      ou si vous voulez "tirer" en colonne C pour avoir le nombre de produit au total à chaque fois qu'il apparaît en A:
      en C1:
      =NB.SI(A:A;A1)

      et si ça ne va pas, déposez un fichier ici, avec quelques explications:
      http://mon-partage.fr
      et revenez coller ici le lien créé sur le site

      à vous lire

      crdlmnt
      0
    4. EZV12 Messages postés 22 Statut Membre
       
      Merci de votre réponse. ce n'est le nombre de produit que je veux savoir, c'est le nombre de clients qui achète le même produit. il faut un formule qui calcule le nombre de client qui a acheté le produit 1 ou produit 2, par exemple, il y a 3 clients qui ont acheté le produit 1 et 2 clients ont acheté le produit 2.
      0
    5. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      éh bé, compter le nombre de fois ou le nom du produit est présent en colonne A ne convient pas?
      . Peut être alors vous déciderez vous à nous dire si vous avez plusieurs fois le même nom de client pour un produit, puisque ça fait deux fois que je souligne le problème
      mais si vous avez un client différent chaque fois que le nom du produit apparaît en A, compter le nombre de fois où le produit est en ligne, c'est bien compter le nombre de client
      c'est en tout cas ce qu'il se passe avec votre liste dans votre demande; soit trois fois produit 1 et deux fois produit 2
      .....peux pas faire mieux avec ce que vous donnez!
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour,

    Exemples pour les deux possibilités évoquées en vain ;-) par Vaucluse que je salue au passage
    - formule pour le nombre de clients
    - fonction personnalisée (macro) pour le nombre de clients différents

    https://www.cjoint.com/c/HFsozO3RMJB

    > EZV12 Dans ton dernier post, tu as oublié de donner le résultat attendu : y a beaucoup de doublons pour le même produit et clients., que fait on avec ces doublons ?

    Cdlmnt
    0
    1. EZV12 Messages postés 22 Statut Membre
       
      C'est géniale!! Merci beaucoup de votre aide. Les doublons resteront dans les données, j'ai juste besoin de savoir combien de clients en tout achètent le produit durant 10 ans.
      Par contre, dans mon fichier Excel, je ne trouve pas le formule "=kompte", j'ai du copier les données dans votre fichier afin d'appliquer cet formule.
      merci de votre explication.
      bien cordialement
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Pour intégrer la fonction personnalisée Kompte dans ton fichier
    1. Alt-F11 pour accéder à l'éditeur vba
    2. Insertion/Module pour créer le Module 1
    3. Coller tout le code dans ce Module

    Option Explicit
    
    Const sep = ";"
    
    Public Function Kompte(plageP As Range, plageC As Range, p As String) As Long
    Dim nbc As Long, li As Long, nbli As Long, n As Long
    Dim dico As Object, cle As String, valeur As String, cles, valeurs, nbcles As Long
    Set dico = CreateObject("scripting.dictionary")
    nbli = plageP.Rows.Count
    For li = 1 To nbli
      cle = plageP.Cells(li, 1).Value
      valeur = plageC.Cells(li, 1).Value
      If dico.exists(cle) Then
        If InStr(1, dico(cle), valeur) = 0 Then dico(cle) = dico(cle) & sep & valeur
      Else
        dico.Add cle, valeur
      End If
    Next li
    nbcles = dico.Count
    cles = dico.keys
    valeurs = dico.items
    If dico(p) = "" Then
      Kompte = 0
    Else
      Kompte = UBound(Split(dico(p), sep)) + 1
    End If
    End Function

    4. Modifier éventuellement la valeur de la constante lideb = 2 (1° ligne des données)
    5. Ne pas oublier de sauvegarder ton fichier avec l'extension .xlsm (fichier prenant en compte les macros)

    Si c'est fini, peux tu mettre le sujet à résolu (en haut à droite, la roue dentée)

    Bonne soirée
    0
    1. EZV12
       
      Merci beaucoup. VBA est trop compliqué pour moi. Est-ce qu’il y a un formule Excel qui peut remplacer celui de VBA? Désolée de vous déranger, mais je ne sais pas du tout faire le vba.
      Bonne soirée à vous également.
      0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Pour vba, pas besoin de connaître, si tu fais ce que j'ai mis plus haut, ça se limite presque à un copier/coller

    Sinon, une solution avec formule matricielle pour comptage sans doublon
    https://www.cjoint.com/c/HFstMTy5iXB

    Cdlmnt
    0
    1. EZV12 Messages postés 22 Statut Membre
       
      C'est super! Merci beaucoup de votre aide et vos explications très détaillées et précises.
      Ce sujet est résolu.
      bonne journée.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour,

    On peut peut-^tre essayer un TCD ( tableau Croisé Dynamique).....
    0
    1. EZV12 Messages postés 22 Statut Membre
       
      merci de votre réponse. J'ai déjà un TCD pour cette BDD, mais, il y a trop de produits et clients, il me faut un formule pour calculer le nombre automatiquement. ccm81 m'a aidé à résoudre ce problème.
      bien à vous.
      0