Formule de recherche avec plusieurs critères

Keshia21 -  
 eugene-92 -
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. Raymond PENTIER Messages postés 58220 Date d'inscription   Statut Contributeur Dernière intervention   17 486
     
    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
  2. dachiasse Messages postés 1932 Statut Membre 153
     
    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. keshia21 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention   6
       
      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
  3. yclik Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   1 611
     
    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. keshia21 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention   6
       
      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
  4. eugene-92
     
    Bonjour,
    Une première approche, mais il faudrait revoir la saisie des dates.
    Cordialement.

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

      https://www.cjoint.com/c/KDljMj6afm5
      0
    2. keshia21 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention   6 > eugene-92
       
      Bonjour 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. eugene-92 > keshia21 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,
      Je vous adresse dans quelques minutes une version qui pourrait répondre à votre question.
      0
    4. eugene-92 > eugene-92
       
      Suite :
      https://www.cjoint.com/c/KDlnGM8wjn5
      0
    5. eugene-92 > eugene-92
       
      Peut-ê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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. keshia21 Messages postés 203 Date d'inscription   Statut Membre Dernière intervention   6
     
    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
  7. eugene-92
     
    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
  8. dachiasse Messages postés 1932 Statut Membre 153
     
    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