Optimisation de critères d'un filtre automatique

  • Initiateur de la discussion Initiateur de la discussion apt
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Re : Optimisation de critères d'un filtre automatique

Bonjour apt, MichD, le forum, le fil

apt
Optes plutôt pour l'emploi du filtre élaboré (qui comme son nom l'indique permets plus de choses que le filtre automatqiue, notamment l'emploi de formules comme critère de filtre)

Voici un exemple en guise d'inspiration (à adapter à ta problématique) extrait d'un fil récent ou j'ai utilisé une formule comme critère pour filtrer des données avec le filtre élaboré piloté par VBA.
https://www.excel-downloads.com/threads/eliminer-des-lignes-non-remplies.187695/

PS: Je n'ai pas le temps pour le moment d'adapter moi-même le code proposé dans le fil cité, je te laisse essayer, avant de revenir plus tard te proposer un code adapté à ta question.
 
Dernière édition:
Re : Optimisation de critères d'un filtre automatique

Bonjour MichD, Staple1600

Merci de t'a réponse Denis.

Je vais continuer à tester et revenir pour continuer le fil.

Tout en attendant l'intervention se Staple16000.
 
Dernière édition:
Re : Optimisation de critères d'un filtre automatique

Re


Apt: tu peux attendre ma proposition mais dans le même temps, tu peux aussi essayer de ton côté d'adapter le code que j'ai cité puisque que tu n'es plus un débutant en VBA 😉

Tu peux aussi faire une recherche avancée sur le forum:
mot-clé: AdvancedFilter
(et choisissant mon pseudo comme critère, tu trouveras tous les fils où j'ai proposé du code VBA utilisant le filtre élaboré (souvent avec des critères de filtre utilisant des formules)

PS: Si j'ai pas trop le temps, c'est que je fais un bref passage sur VBA tout préparant ma valise
(train à prendre pour Paris à 6h33 et je pars sans mon netbook qui est resté chez mon frangin à Rouen)
 
Dernière édition:
Re : Optimisation de critères d'un filtre automatique

Tu peux aussi faire une recherche avancée sur le forum:
mot-clé: AdvancedFilter
(et choisissant mon pseudo comme critère, tu trouveras tous les fils où j'ai proposé du code VBA utilisant le filtre élaboré (souvent avec des critères de filtre utilisant des formules)

Bizzare !

Je n'ai trouvé qu"une seule solution :

https://www.excel-downloads.com/thr...la-beau-alors-je-le-partage-avec-vous.166731/

PS: Si j'ai pas trop le temps, c'est que je fais un bref passage sur VBA tout préparant ma valise
(train à prendre pour Paris à 6h33 et je pars sans mon netbook qui est resté chez mon frangin à Rouen)

Alors bonne route 😉
 
Re : Optimisation de critères d'un filtre automatique

Bonjour à tous


apt: Voici un exemple basique de l'emploi du filtre élaboré en VBA
(Au préalable , j'ai copié les entêtes de colonne dans les cellules G7:L7 que j'ai mis en blanc pour les rendre non visibles
Important :il faut les valeurs soient strictement identique entre les entêtes A7:F7 et G7:L7 )

Code:
Const x As String = "0,0208333333333333"
Sub Macro1()
Dim C_ritere As Range, OPE: Set C_ritere = Range("K7:K8")
OPE = InputBox("Choisissez un des opérateurs suivant : <, >, =, >=, <=")
[K8] = OPE & x
Range("A7:F30").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=[C_ritere], Unique:=False
End Sub

PS: Voici un autre fil (récent) où j'ai proposé l'emploi du filtre élaboré cette fois-ci avec une formule comme critère.
Merci d’avoir pris le temps de faire la recherche
(avec filtre élaboré
comme mots-clés associé à mon pseudo , je trouve =&prefixchoice[]=&prefixchoice[]=Excel_2010&prefixchoice[]=Excel_2007&prefixchoice[]=Excel_2003&prefixchoice[]=Excel_2002&prefixchoice[]=Excel_2000&prefixchoice[]=MAC&prefixchoice[]=Toutes_Versions&prefixchoice[]=Access&prefixchoice[]=Word&prefixchoice[]=Outlook&prefixchoice[]=Power_Point&prefixchoice[]=Visio&prefixchoice[]=Project&prefixchoice[]=Autres&prefixchoice[]=Excel2010&prefixchoice[]=Excel2007&prefixchoice[]=Developpement_vba&prefixchoice[]=Initiation&prefixchoice[]=Prefectionnement&childforums=1&replyless=0&replylimit=0&type[]=1"]109 résultats )
 
Dernière édition:
Re : Optimisation de critères d'un filtre automatique

Mais j'aimerais avoir quelque chose de bien organiser pour extraire des états près à être imprimer

Pour l'impression, tu n'as qu'à définir une zone d'impression. Dans celle-ci nul besoin d'y inclure la zone de critère
aux fins de l'exécution des filtres.

Si tu veux appliquer une mise en page particulière, c'est possible de le faire pour la plage affichant les résultats du
filtre par macro, juste avant de lancer l'impression. Pour ce faire, tu peux utiliser l'enregistreur de macro pendant
que tu fais la mise en page et appliques les formats dans la plage de résultat. Tu obtiendras l'essentiel du code
qu'il est possible par la suite de modifier pour optimiser le code. La tâche de la mise en forme te revient puisque
c'est de ton application qu'il est question. Si tu as besoin d'aide par la suite pour peaufiner le code, il y a toujours
ce groupe de discussion.
 
Re : Optimisation de critères d'un filtre automatique

Bonjour Staple1600,

J'ai fait un petit essai, en ajoutant deux colonnes pour convertir en nombre les dates en colonne G et la durée en colonne H.

Mais je n'ai rien obtenu !

voir la pièce jointe.

EDIT : Bonjour MichD.
 

Pièces jointes

Dernière édition:
Re : Optimisation de critères d'un filtre automatique

Bonsoir,

MichD :: Si je tape > 10/05/2012 dans le critère "Arrêt", je n’obtiens rien.

Idem pour le critère "Durée", si je tape > 14, ça ne donne rien aussi.

Staple1600 :: Pour la date d'arrêt, ca filtre très bien, mais j'ai un problème en ce qui concerne la durée : ca ne filtre que manuellement !

J’ai ajouté une colonne dans laquelle je transforme la déférence de date (Durée) en numérique pour pouvoir appliquer le filtrage.

Voir PJ

Merci.
 

Pièces jointes

Dernière édition:
Re : Optimisation de critères d'un filtre automatique

Bonjour

Je viens de tester ta PJ, notamment la macro EssaiFiltre et j'obtiens ce résultat:
[TABLE="class: grid, width: 500"]
[TR]
[TD]Arrêt
[/TD]
[TD]Marche
[/TD]
[TD]Durée
[/TD]
[/TR]
[TR]
[TD]15/05/2012 00:05[/TD]
[TD]15/05/2012 09:37[/TD]
[TD]00 jour 09h:32mn[/TD]
[/TR]
[/TABLE]
Ce qui me semble correct puisque c'est le seul qui correspond au critère choisi:
[TABLE="class: grid, width: 500"]
[TR]
[TD]Arrêt
[/TD]
[TD]Arrêt[/TD]
[TD]Dn[/TD]
[/TR]
[TR]
[TD]>= 41044[/TD]
[TD]<= 41046[/TD]
[TD]>= 0,208333333333333[/TD]
[/TR]
[/TABLE]
NB: Dans la macro EssaiFiltre telle quelle
ton critére est :
[TABLE="width: 650"]
[TR]
[TD]
Code:
'-- Avec durée d'arrêt
        Set Crit = .Range("G1:G2")
[/TD]
[TD]Donc cela fonctionne non ?[/TD]
[/TR]
[/TABLE]
 
Dernière édition:
Re : Optimisation de critères d'un filtre automatique

Bonjour Staple1600,

Donc, je crois que j'ai un problème.

Parce que je n'ai rien en (J1:L1) !!!!

Mais si je le fait manuellement :

Données > Filtrer > Avancé

et je renseigne les champs :

Plage : $A$1:$D$17

Zone de critères : $G$1:$G$2

Copier dans : $J$1:$L$1

Je clique OK

Et j'obtiens le même résultat que toi 😎

Mais en VBA ça ne donne rien.

Bizarre 😡

EDIT : Nos réponses se croisent (Jetais en train de modifier mon message précédent)
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
504
Réponses
4
Affichages
242
Réponses
3
Affichages
211
Retour