Filtrer à partir d'un formulaire Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'379
Appréciations reçues : 584
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 6 mai 2019, 18:30

Fait, et pourtant je n'aime pas les userform !
Private Sub CommandButton1_Click()

With Sheets("RESULTS")
    .Select
    .Range("E2") = TextBox1.Value
    .Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=.Range("E1:E2"), Unique:=False
End With

Me.Hide

End Sub
Test forum.xlsm
(284.02 Kio) Téléchargé 3 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
j
jewlesd
Membre habitué
Membre habitué
Messages : 63
Inscrit le : 9 janvier 2019
Version d'Excel : 2016

Message par jewlesd » 7 mai 2019, 14:10

Steelson a écrit :
6 mai 2019, 18:30
Fait, et pourtant je n'aime pas les userform !
Private Sub CommandButton1_Click()

With Sheets("RESULTS")
    .Select
    .Range("E2") = TextBox1.Value
    .Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=.Range("E1:E2"), Unique:=False
End With

Me.Hide

End Sub
Merci ! :D c'est génial
Pourquoi tu n'aimes pas ça ? Ca simplifie les choses non ?
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'379
Appréciations reçues : 584
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 7 mai 2019, 16:24

Non,,,,,,,,,,, en général je préfère éviter les userform. Je préfère choisir par exemple le nom directement dans l'onglet.
Le problème des userform, c'est leur construction assez fastidieuse, surtout quand tu dois introduire des dates ou des chiffres, quand tu dois faire appel à des listes déroulantes etc.
1 membre du forum aime ce message.

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
j
jewlesd
Membre habitué
Membre habitué
Messages : 63
Inscrit le : 9 janvier 2019
Version d'Excel : 2016

Message par jewlesd » 21 mai 2019, 16:30

Steelson a écrit :
6 mai 2019, 18:30
Fait, et pourtant je n'aime pas les userform !
Private Sub CommandButton1_Click()

With Sheets("RESULTS")
    .Select
    .Range("E2") = TextBox1.Value
    .Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=.Range("E1:E2"), Unique:=False
End With

Me.Hide

End Sub
Re-bonjour !

Je vous réécris car j'ai une question concernant le code avez lequel vous m'avez beaucoup aidée, dans l'onglet "Résultats", j'ai fait afficher les lignes 1 à 3 qui étaient masquées et le code ne fonctionnait plus (le filtre n'affichait plus que des lignes vides), lorsque je les ai remasquées cela a refonctionné...

Comment cela se fait-il ? Merci !
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'379
Appréciations reçues : 584
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 21 mai 2019, 16:44

Non cela fonctionne très bien avec les ligens masquées.
Peut-être que le choix des valeurs aboutissait à rien.

Je viens de faire un test ...
Test forum.xlsm
(285.29 Kio) Téléchargé 4 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
j
jewlesd
Membre habitué
Membre habitué
Messages : 63
Inscrit le : 9 janvier 2019
Version d'Excel : 2016

Message par jewlesd » 24 mai 2019, 10:15

Steelson a écrit :
21 mai 2019, 16:44
Non cela fonctionne très bien avec les ligens masquées.
Peut-être que le choix des valeurs aboutissait à rien.

Je viens de faire un test ...
Moi ça ne marche pas regardez : Fichier retiré (contient des données personnelles)

Je ne comprends pas pourquoi...
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'379
Appréciations reçues : 584
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 24 mai 2019, 21:11

Efface la ligne 4 et cela fonctionnera.
Il faut en effet que le tableau résultat soit isolé. Idem pour le tableau des critères.
Cela n'a donc rien à voir avec le fait que les premières lignes soient masquées.

Fichier retiré (contient des données personnelles)

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 11'379
Appréciations reçues : 584
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 25 mai 2019, 02:23

En complément, si tu souhaites mettre des grands titres, ajoute une ligne blanche (éventuellement masquée) entre les titres et ton tableau de résultats et modifie cette ligne :
.Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=.Range("E1:E2"), Unique:=False
en remplaçant A5 par l'adresse du début du tableau.

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
j
jewlesd
Membre habitué
Membre habitué
Messages : 63
Inscrit le : 9 janvier 2019
Version d'Excel : 2016

Message par jewlesd » 27 mai 2019, 08:57

Steelson a écrit :
25 mai 2019, 02:23
En complément, si tu souhaites mettre des grands titres, ajoute une ligne blanche (éventuellement masquée) entre les titres et ton tableau de résultats et modifie cette ligne :
.Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=.Range("E1:E2"), Unique:=False
en remplaçant A5 par l'adresse du début du tableau.
Génial merci beaucoup ! :D
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message