Formule de recherche avec plusieurs critères

Bonjour,

Je recherche une formule qui pourrait me permettre d'extraire certaines données dans une très grande base articles.
Je souhaite faire la somme du nombre de produits achetés par magasin sur une période de 3mois.
Je ne peux pas faire directement un TDC car sur mes 15000 références je n'en recherche que 400 bien précises.
Merci d'avance pour votre aide
Bonne soirée
Keshia

https://mon-partage.fr/f/SZjgSdPn/

Configuration: Windows / Edge 89.0.774.75

7 réponses

  1. Contributeur
    Bonjour Keshia.

    Je n'ai pas compris ta question
    "sur mes 15000 références je n'en recherche que 400 bien précises"
    qui dans ton fichier joint devient
    "plus de 15000 lignes et je n'ai besoin que de 400 articles bien précis"...
    Ce n'est pas la même chose !
    Le pire, c'est dans un cas comme dans l'autre, tu ne dis pas, et je n'imagine pas, comment tu fais pour sélectionner ces 400 articles. D'ailleurs tu ne précises pas si ces 400 sont toujours les mêmes, ou peuvent changer d'une période à une autre.
    1
    1. J'ai tenté quelque chose le plus simple que je puisse faire.

      Une table Article : {id_article, nom_article, prix_unitaire_article} ;
      une table Acheteur : {id_acheteur, nom_acheteur} ;
      une table relationnelle entre Acheteur et Article nommée Achète : {id_achète, date_achète (format : AAAAMM), quantité_achète, #acheteur_achète (fait référence à id_acheteur), #article_achète (fait référence à id_article)}

      On remplit les tables.

      Article (id, nom, prix):
      1, abricot, 2.50 ;
      2, béchamel, 2.25 ;
      3, chocolat, 3.75.

      Acheteur (id, nom) :
      101, Auchan
      202, Casino
      303, Lidl

      Avec un formulaire de commandes on met à jour la table Achète.

      1) Auchan achète en juin 2020, 50 abricots, 50 béchamels et 100 chocolats :
      1001, 202006, 50, 101, 1 ;
      1002, 202006, 50, 101, 2 ;
      1003, 202006, 100, 101, 3 ;

      et ainsi de suite pour chaque acheteur.

      Ensuite, mais, je n'ai pas testé, on fait :
      SELECT id_acheteur, id_article, sum(quantité) from achète
      where date between 202006 and 202008
      group by id_acheteur
      1
      1. Bonjour Dachiasse,

        Je n'ai pas compris ta réponse.
        Mon niveau n'est pas très élevé en Excel :(.
        Il y a 2 autres personnes qui m'ont suggérer la formule sommeprod avec des exemples et je vais l'utilisée.
        Merci d'avoir prit le temps de m'aider
        Bon dimanche
        keshia
        0
    2. Bonjour
      une piste
      en O5
      =SOMMEPROD(($D$5:$D$26=$L5)*($H$5:$H$26=$M5)*($I$5:$I$26)*($F$5:$F$26=O$4))

      A recopier à, droite
      somme en M5
      =SOMME(O5:Q5)

      1
      1. Bonjour yclik,

        Je vais essayer ta proposition et je pense que c'est ce que je voulais la quantité achetée par références détaillées , par mois et par magasin.
        Merci bon dimanche à toi
        0
    3. Bonjour,
      Une première approche, mais il faudrait revoir la saisie des dates.
      Cordialement.

      https://www.cjoint.com/c/KDljkgBH2G5
      1
      1. Suite :
        Le même avec un tableau permettant de choisir les mois à totaliser.

        https://www.cjoint.com/c/KDljMj6afm5
        0
      2. @eugene-92Bonjour Eugene,
        Merci pour votre réponse .
        Vous m'avez donner une bonne marche à suivre maintenant il faut que j'adapte votre réponse pour détailler par référence.
        Car je voulais trouver une réponse par référence détaillées acheter, par magasin et par mois.
        Merci et bon dimanche
        Keshia
        0
      3. @keshia21Bonjour,
        Je vous adresse dans quelques minutes une version qui pourrait répondre à votre question.
        0
      4. @eugene-92Suite :
        https://www.cjoint.com/c/KDlnGM8wjn5
        0
      5. @eugene-92Peut-être pourriez vous regarder ma réponse de 15:34 avant d'adapter les réponses précédentes, ou marquer "résolu" si terminé.
        0
    4. Bonjour Dechiasse

      SGBDR, SQL, je n'y connais rien, :(
      Pour le moment je me contente de travailler sur les bases de données dans le format que l'ont me donne.
      Merci d'avoir pris le temp de lire mon problème
      Bon dimanche
      Keshia
      0
      1. Bonjour Keshia,
        En fait c'est très simple. Cette macro est rédigée à l'aide de l'éditeur de macro, elle fait appel en l'occurrence à la fonction Filtre élaboré.
        Je ne suis pas programmeur, mais j'utilise souvent cette possibilité d'Excel qui est vraiment pratique. Voir ici :
        https://support.microsoft.com/fr-fr/office/d%C3%A9marrage-rapide-cr%C3%A9er-une-macro-741130ca-080d-49f5-9471-1e5fb3d581a8
        Par ailleurs, sur les versions récentes d'Excel, vous trouvez la fonction Somme.si.ens(), voisine de Sommeprod() qui pourrait aussi être utile dans votre projet. Voir ici :
        https://support.microsoft.com/fr-fr/office/somme-si-ens-somme-si-ens-fonction-c9e748f5-7ea7-455d-9406-611cebce642b
        Cordialement,
        0
        1. Salut,

          On m'avait bâché parce que je disais qu'Excel n'est pas un gestionnaire de base de données. Mais, apprendre à utiliser un bon système de gestion de base de données (relationnelles), donc pas Access, peut avoir un avantage.

          En séparant les traitements (avec un SGBDR) et l'affichage graphique (avec Excel), tu auras un fichier Excel moins lourd, sans macro, donc beaucoup plus rapide et performant.

          Tu as besoin de la table Articles avec les champs référence , et nom, ainsi que de la table Acheteur avec son identifiant. Tu as une relation "Acheteur achète Article" avec les clés primaires ainsi que le mois et la quantité. Ça fait très longtemps que je n'ai pas fait d'SQL. Mais, tu dois faire une sélection en bornant sur 3 mois pour chaque Acheteur.
          -1