Programmation VBA Excel Fonction FILTRE
Fermé
DJ3039
Messages postés
6
Date d'inscription
samedi 22 décembre 2012
Statut
Membre
Dernière intervention
22 décembre 2012
-
22 déc. 2012 à 21:32
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 23 déc. 2012 à 02:00
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 23 déc. 2012 à 02:00
A voir également:
- Fonction filtre vba
- Photo filtre gratuit - Télécharger - Retouche d'image
- Fonction si et - Guide
- Filtre manga - Guide
- Erreur 1004 vba ✓ - Forum VB / VBA
- Fonction moyenne excel - Guide
5 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
22 déc. 2012 à 21:36
22 déc. 2012 à 21:36
bonjour,
Il te suffit de rajouter une seconde ligne avec le "Field" adéquat.
Il te suffit de rajouter une seconde ligne avec le "Field" adéquat.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 775
22 déc. 2012 à 21:48
22 déc. 2012 à 21:48
Bonjour,
Il faut utiliser un filtre élaboré, le nombre de critères n'est pas limité.
Voici un exemple (à adapter) :
https://www.cjoint.com/?BLwvTIqMAUE
Il faut utiliser un filtre élaboré, le nombre de critères n'est pas limité.
Voici un exemple (à adapter) :
https://www.cjoint.com/?BLwvTIqMAUE
DJ3039
Messages postés
6
Date d'inscription
samedi 22 décembre 2012
Statut
Membre
Dernière intervention
22 décembre 2012
22 déc. 2012 à 21:56
22 déc. 2012 à 21:56
Salut Patrice,
Tout d'abord je te remercie pour ta réponse mais saurais-tu m'indiquer une
ligne de programmation VBA de mon style :
Selection.AutoFilter Field:=8, Criteria1:=">=01/03/2013", Operator:=xlAnd, Criteria2:="<=14/03/2013"
mais où je peux rajouter la même fonction de filtre sur un deuxième Field ?
Merci
Tout d'abord je te remercie pour ta réponse mais saurais-tu m'indiquer une
ligne de programmation VBA de mon style :
Selection.AutoFilter Field:=8, Criteria1:=">=01/03/2013", Operator:=xlAnd, Criteria2:="<=14/03/2013"
mais où je peux rajouter la même fonction de filtre sur un deuxième Field ?
Merci
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 684
Modifié par gbinforme le 22/12/2012 à 22:05
Modifié par gbinforme le 22/12/2012 à 22:05
Tout simplement, par exemple :
Selection.AutoFilter Field:=7, Criteria1:=">=01/04/2013", Operator:=xlAnd, Criteria2:="<=08/04/2013" Selection.AutoFilter Field:=9, Criteria1:=">=01/04/2013", Operator:=xlAnd, Criteria2:="<=08/04/2013"
DJ3039
Messages postés
6
Date d'inscription
samedi 22 décembre 2012
Statut
Membre
Dernière intervention
22 décembre 2012
22 déc. 2012 à 22:13
22 déc. 2012 à 22:13
Re Salut Patrice,
Je m'excuse humblement car en fait il me manque la façon de rédiger ma ligne de façon à ce que mes 2 filtres soient simultanés. Pour être plus clair, ce que je cherche à faire c'est que dans une liste de lignes de factures où se trouvent 2 colonnes contenant des dates, il faut que je recherche toutes les lignes contenant une date comprise dans une semaine donnée : Exemple que les dates de la premières colonne soient >= au 10/01/2013 et <= 20/01/2013 et donc que j'obtienne après mon filtre les lignes correspondantes AUSSI aux dates de la 2ème colonne situées dans ces 2 mêmes dates. Le tout, bien entendu si c'est possible en utilisant du code VBA de ce genre :
Selection.AutoFilter Field:=1, Criteria1:=">=10/01/2013", Operator:=xlAnd, Criteria2:="<=20/01/2013"
Selection.AutoFilter Field:=2, Criteria1:=">=10/01/2013", Operator:=xlAnd, Criteria2:="<=20/01/2013"
Merci.
Je m'excuse humblement car en fait il me manque la façon de rédiger ma ligne de façon à ce que mes 2 filtres soient simultanés. Pour être plus clair, ce que je cherche à faire c'est que dans une liste de lignes de factures où se trouvent 2 colonnes contenant des dates, il faut que je recherche toutes les lignes contenant une date comprise dans une semaine donnée : Exemple que les dates de la premières colonne soient >= au 10/01/2013 et <= 20/01/2013 et donc que j'obtienne après mon filtre les lignes correspondantes AUSSI aux dates de la 2ème colonne situées dans ces 2 mêmes dates. Le tout, bien entendu si c'est possible en utilisant du code VBA de ce genre :
Selection.AutoFilter Field:=1, Criteria1:=">=10/01/2013", Operator:=xlAnd, Criteria2:="<=20/01/2013"
Selection.AutoFilter Field:=2, Criteria1:=">=10/01/2013", Operator:=xlAnd, Criteria2:="<=20/01/2013"
Merci.
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 775
22 déc. 2012 à 22:16
22 déc. 2012 à 22:16
Pourquoi la proposition de gbinforme (Bonjour gb) ne convient-elle pas ?
DJ3039
Messages postés
6
Date d'inscription
samedi 22 décembre 2012
Statut
Membre
Dernière intervention
22 décembre 2012
22 déc. 2012 à 22:31
22 déc. 2012 à 22:31
Dans un listing où se trouve 2 colonnes de Dates, si je veux filtrer les lignes correspondant à une semaine, je peux avoir des lignes où la première date est incluse dans la semaine demandée et donc au moment de l'exécution de la première ligne VBA qui filtre, cela fait disparaître les lignes où la 2ème date fait aussi partie de la semaine demandée !
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 775
Modifié par Patrice33740 le 22/12/2012 à 23:00
Modifié par Patrice33740 le 22/12/2012 à 23:00
Re,
Si j'ai bien compris, tu veux filtrer une plage de dates dans une colonne et ajouter aux lignes obtenues les lignes qui seraient obtenues en effectuant le même type de filtre sur une autre colonne.
C'est à dire un OU logique entre les deux filtres (et pas un ET comme proposé par gbinforme)
Dans ce cas, seul le filtre élaboré te permettra d'obtenir le résultat recherché, pour réaliser un OU il faut utiliser 2 lignes comme dans cet exemple :
https://www.cjoint.com/?BLww2qCaaRy
Note : au lieu d'envoyer le résultat sur un autre emplacement, tu peux filtrer sur place.
Cordialement
Patrice
Si j'ai bien compris, tu veux filtrer une plage de dates dans une colonne et ajouter aux lignes obtenues les lignes qui seraient obtenues en effectuant le même type de filtre sur une autre colonne.
C'est à dire un OU logique entre les deux filtres (et pas un ET comme proposé par gbinforme)
Dans ce cas, seul le filtre élaboré te permettra d'obtenir le résultat recherché, pour réaliser un OU il faut utiliser 2 lignes comme dans cet exemple :
https://www.cjoint.com/?BLww2qCaaRy
Note : au lieu d'envoyer le résultat sur un autre emplacement, tu peux filtrer sur place.
Cordialement
Patrice
DJ3039
Messages postés
6
Date d'inscription
samedi 22 décembre 2012
Statut
Membre
Dernière intervention
22 décembre 2012
22 déc. 2012 à 23:04
22 déc. 2012 à 23:04
D'abord merci pour prendre tout ce temps pour me répondre. Cependant mon but étant d'éviter de créer une Zone de Critères c'est pour cela que je voulais passer par des Variables et la Fonction Filtre sous VBA car je pensais qu'il était possible de cumuler 2 Field sur une même ligne !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24570
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
23 avril 2024
7 213
23 déc. 2012 à 02:00
23 déc. 2012 à 02:00
Bonsoir,
Tu peux toujours t'ajouter une colonne calculée qui cumule tes critères pour filtrer dessus.
Mais il faudra bien que tu les saisissent quelque part ces critères (à moins qu'ils ne changent pas), donc autant utiliser le filtre élaboré.
Si c'est les mettre à droite qui te gène tu peux très bien réserver 2-3 lignes au-dessus de tes données.
eric
Tu peux toujours t'ajouter une colonne calculée qui cumule tes critères pour filtrer dessus.
Mais il faudra bien que tu les saisissent quelque part ces critères (à moins qu'ils ne changent pas), donc autant utiliser le filtre élaboré.
Si c'est les mettre à droite qui te gène tu peux très bien réserver 2-3 lignes au-dessus de tes données.
eric