Filtrer sur les résultats d'une requête

Bonjour à tous !

Merci de l'aide que vous pourrez m'apporter.

Ce que je souhaite faire sur Excel 2010 me paraît simple mais je ne sais pas comment faire.

mon cas d'école:

A partir d'une liste d'élèves et de notes, je voudrais afficher l'ensemble des notes de tous les élèves qui ont eu au moins une fois X, X étant un champ à alimenter par l'utilisateur. l'utilisateur entre la note 20 par exemple, et Excel affiche un tableau avec l'ensemble des informations concernant tous les élèves qui ont eu 20 et pas seulement les lignes avec la note 20 comme le fait un filtre classique.

En SQL cela se traduirait par: select * from Matable where ELEVE in (Select ELEVE from Matable where NOTE = 20)

j'ai créé un fichier exemple en PJ.

Bonjour laurent116,

voici le code :

Sub test()

Dim note As Double

Dim nombreslignes As Long

'la note pour le filtre

note = Sheets("Feuil1").Range("B3")

' ici on fait le filtre

ActiveSheet.Range("$A$5:$C$14").AutoFilter Field:=3, Criteria1:="<=" & note, _

Operator:=xlAnd

' ici on charge le résultat

nombreslignes = Sheets("Feuil1").Cells(Rows.Count, 3).End(xlUp).Row - 6

' ici on rentre le résultat dans la feuille de calcul

Sheets("Feuil1").Range("F4") = nombreslignes

End Sub

Ci-joint le fichier avec la macro.

C'est très gentil de m'avoir répondu, mais cela ne correspond pas du tout à ce que je souhaite .

Ton code permet de filtrer selon une varaible et de compter un nombre de lignes affichées ensuite, mais ce n'est pas ça.

Je voudrais avoir l'équivalent d'un Select * from MatableMatrice where ELEVE in (select ELEVE from MatableMatrice where NOTE = Variable)

Merci

Rechercher des sujets similaires à "filtrer resultats requete"