Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Access : Top N sur 2 champs

  • Initiateur de la discussion Initiateur de la discussion jrdl91
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jrdl91

Guest
Bonjour à tous,

Je me permets de revenir vous solliciter pour un "petit problème tout bête" que mes maigres connaissances access (et mes connaissances nulles en SQL) ne me permettent pas de résoudre...

Etant donné une table, Access permet de sortir facilement les N premières valeurs sur un champ (exemple classique des 10 meilleurs élèves ou 10 meilleurs vendeurs).

Mon problème est le suivant : imaginons que j'ai une table du type élève - note moyenne - avec un troisième champ (par exemple un mois dans l'année scolaire)...

Je voudrai "simplement" extraire de cette table la liste des N meilleurs élèves pour chaque mois, donc avoir un fichier résultat du type :

janvier 2011 V. Dupont 14,6
janvier 2011 B. Duval 14,3
janvier 2011 C. Durand 12,5
février 2011 B. Duval 15.0
février 2011 V. Dupont 14.5
février 2011 H. Dupuis 14.2

Ca parait (et c'est probablement...) tout bête, mais j'ai pas trouvé 😕

Merci par avance de vos lumières !!!🙂
 
Re : Access : Top N sur 2 champs

Bonjour tototiti2008,
Et merci de ta réponse 🙂
En passant par Excel, ça passe "tout seul" (trier par "date croissante puis moyenne décroissante", puis générer un champ "rang" avec une formule toute bête ( SI(G2=G1;L1+1;1), G étant la colonne où figure la date, L celle du rang),puis filtrer sur rang < N...

Par contre c'est tout sauf élégant, et donc même si ça marche, je cherche tjs une solution access "pur" 😡

Merci par avance à quiconque aurait une idée !
 
Re : Access : Top N sur 2 champs

Re,

ça doit surement commencer par calculer le rang dans la classe

Calcul de rang - Le grenier Access

sur la base de l'exemple, j'ai calculé le rang par mois comme ça

Rang : CpteDom("*";"[Table1]";"[Note] > " & [note] & " And [Mois] = '" & [mois] & "'")+1

Attention le mois est considéré comme du texte ici, je ne sais pas s'il est considéré comme une date chez toi

si tu veux les 3 premiers de chaque mois, il suffit de mettre le critère "<=3" sur ce champ calculé
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…