Filtrer à partir d'un formulaire

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
11test-forum.xlsm (284.02 Ko)

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 ! c'est génial

Pourquoi tu n'aimes pas ça ? Ca simplifie les choses non ?

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.

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 !

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 ...

18test-forum.xlsm (285.29 Ko)

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 :

Je ne comprends pas pourquoi...

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.

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.

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 !

Rechercher des sujets similaires à "filtrer partir formulaire"