Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Filtrage simple et multiple avec niveaux à souhait

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous

Toujours dans mes filtrages, j'ai continué à chercher quel pourrait être un filtrage "tout" simple permettant de filtrer avec code simple.
A force de recherches et tests un peu partout, je n'ai rien trouvé qui convenait à "l'usine à gaz" que je suis ou rien que je sois capable de coder.
O rage, O désespoir ... mais j'ai pas lâché l'affaire

Je suis retourné sur tous les fichiers de filtrages en ma possession et ayant tout épuisé sans résultat ... c'est au dernier fichier avec lequel, en modifiant le code que j'ai pu trouver, ce que je crois être "LA SOLUTION"

Ce fichier est un fichier de notre très excellent et déjà très regretté JB Boisgontier.

En tâtant, mais je comprenais mieux le filtrage, j'ai modifié le code et j'ai fait celui-là :
VB:
Sub FiltreData()
    Sheets("choix").Range("A5:J10000").AutoFilter Field:=1, Criteria1:="m"
    Sheets("choix").Range("A5:J10000").AutoFilter Field:=2, Criteria1:="ca"
    Sheets("choix").Range("A5:J10000").AutoFilter Field:=8, Criteria1:="3118"
    Sheets("choix").Range("A5:J10000").AutoFilter Field:=10, Criteria1:="el"
    [a1].Select
End Sub
Tout simple et sans aucun besoin supplémentaire. ... j'ai même pu le mettre dans un UserForm.

Il me semble que ça peut fonctionner pour tous besoins en adaptant le code et pour tous niveaux.
Je joins ce fichier test qui, je pense pourra certainement simplifier la vie de bien des utilisateurs de filtrages;

J'en profite pour demander l'avis de nos ténors : Qu'en pensez-vous ?
Merci pour vos avis éclairés

Et si patricktoulon me dit que c'est une usine à gaz, j'explose lol
Amicalement,
lionel
 

Pièces jointes

  • 01 Filtre_boigontier.xlsm
    32 KB · Affichages: 2
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Euh... c'est quoi la différence avec ce que je t'avais proposé ?
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bjr Marcel, c'est instantané et tellement plus facile à coder ... lol enfin il me semble
Oui, sauf que ça me semble être exactement la même chose en fait.

A ceci près que dans ma proposition, il y avait évidemment , Operator:=xlAnd en trop puisqu'il n'y avait pas de deuxième critère de filtrage sur le premier champ filtré.

Pour rappel :
Moi-même à dit:
MaZone.AutoFilter Field:=10, Criteria1:=">=1", Operator:=xlAnd
MaZone.AutoFilter Field:=11, Criteria1:="="
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonjour Lionel, le Fil, le Forum
Histoire de vous saluer !
Pourquoi pas ceci ?
VB:
Sub FiltreData()
Dim DerLgn As Long
    With Sheets("choix")
    DerLgn = .Cells(.Rows.Count, 1).End(xlUp).Row
     With .Range("A5:J" & DerLgn)
          .AutoFilter Field:=1, Criteria1:="m"
          .AutoFilter Field:=2, Criteria1:="ca"
          .AutoFilter Field:=8, Criteria1:="3118"
          .AutoFilter Field:=10, Criteria1:="el"
     End With
    End With
    [a1].Select
End Sub
Bonne fin de Journée
Jean marie
 

Usine à gaz

XLDnaute Barbatruc
Bonjour Jean-Marie
Merci, c'est encore mieux !
lionel
 

Discussions similaires

Réponses
8
Affichages
404
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…