Programmation VBA Excel Fonction FILTRE
DJ3039
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaite programmer une macro-commande où je peux Filtrer SIMULTANEMENT sur 2 colonnes de Dates. Cette macro devra contenir 2 paramètres de recherche pour chaque colonne.
Exemple Vdatdeb <= Colonne 1 <= Vdatfin ET Vdatdeb <= Colonne 2 <= Vdatfin
Je sais filtrer sur 1 colonne mais pas 2 simultanément :
Exemple pour 1 seule colonne :
Selection.AutoFilter Field:=7, Criteria1:=">=01/04/2013", Operator:=xlAnd, Criteria2:="<=08/04/2013"
MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI
Je souhaite programmer une macro-commande où je peux Filtrer SIMULTANEMENT sur 2 colonnes de Dates. Cette macro devra contenir 2 paramètres de recherche pour chaque colonne.
Exemple Vdatdeb <= Colonne 1 <= Vdatfin ET Vdatdeb <= Colonne 2 <= Vdatfin
Je sais filtrer sur 1 colonne mais pas 2 simultanément :
Exemple pour 1 seule colonne :
Selection.AutoFilter Field:=7, Criteria1:=">=01/04/2013", Operator:=xlAnd, Criteria2:="<=08/04/2013"
MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI MERCI
A voir également:
- Fonction filtre vba
- Fonction si et - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Filtre whatsapp - Accueil - Messagerie instantanée
- Filtre teams - Accueil - Visio
- Fonction miroir - Guide
5 réponses
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
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
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.
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 !
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
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
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