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
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:=xlAnden trop puisqu'il n'y avait pas de deuxième critère de filtrage sur le premier champ filtré.
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
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