Formule de recherche avec plusieurs critères

Fermé
Keshia21 - 11 avril 2021 à 01:26
 eugene-92 - 13 avril 2021 à 07:13
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

Raymond PENTIER Messages postés 58732 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 29 novembre 2024 17 246
11 avril 2021 à 02:33
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
dachiasse Messages postés 1709 Date d'inscription samedi 12 septembre 2020 Statut Membre Dernière intervention 13 mai 2021 149
11 avril 2021 à 03:10
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
keshia21 Messages postés 170 Date d'inscription jeudi 12 juillet 2018 Statut Membre Dernière intervention 28 novembre 2024 3
11 avril 2021 à 15:19
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
yclik Messages postés 3700 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 28 novembre 2024 1 516
11 avril 2021 à 11:01
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
keshia21 Messages postés 170 Date d'inscription jeudi 12 juillet 2018 Statut Membre Dernière intervention 28 novembre 2024 3
11 avril 2021 à 15:11
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
Bonjour,
Une première approche, mais il faudrait revoir la saisie des dates.
Cordialement.

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

https://www.cjoint.com/c/KDljMj6afm5
0
keshia21 Messages postés 170 Date d'inscription jeudi 12 juillet 2018 Statut Membre Dernière intervention 28 novembre 2024 3 > eugene-92
11 avril 2021 à 15:04
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
eugene-92 > keshia21 Messages postés 170 Date d'inscription jeudi 12 juillet 2018 Statut Membre Dernière intervention 28 novembre 2024
11 avril 2021 à 15:28
Bonjour,
Je vous adresse dans quelques minutes une version qui pourrait répondre à votre question.
0
eugene-92 > eugene-92
11 avril 2021 à 15:34
Suite :
https://www.cjoint.com/c/KDlnGM8wjn5
0
eugene-92 > eugene-92
Modifié le 11 avril 2021 à 18:52
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
keshia21 Messages postés 170 Date d'inscription jeudi 12 juillet 2018 Statut Membre Dernière intervention 28 novembre 2024 3
11 avril 2021 à 15:24
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
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
dachiasse Messages postés 1709 Date d'inscription samedi 12 septembre 2020 Statut Membre Dernière intervention 13 mai 2021 149
11 avril 2021 à 02:12
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