J'ai cherché un peu partout comment filtrer plusieurs colonnes avec un seul critère mais je n'arrive pas à trouver la solution (ou alors, je n'ai pas compris celles que j'avais sous les yeux...)
Je décris la situation et le besoin :
j'ai un tableau (5 colonnes et 20 lignes dans l'exemple joint) et je voudrais n'afficher que les lignes qui contiennent mon critère de recherche.
Si je filtre la colonne 1 sur mon critère, je ne pourrais pas voir mon critère dans la colonne 2...
J'ai bien trouvé une solution consistant à masquer les lignes qui ne contiennent pas mon citère mais cette solution ne me convient qu'à moitié (pour cause d'intégration avec le reste du fichier et pour intégration de tris supplémentaires sur d'autres critères par la suite) :
Code:
Sub tri()
For i = 21 To 2 Step -1
If Cells(i, 1) <> "nom1" And Cells(i, 2) <> "nom1" And Cells(i, 3) <> "nom1" And Cells(i, 4) <> "nom1" And Cells(i, 5) <> "nom1" Then
Rows(i).Select
Selection.EntireRow.Hidden = True
End If
Next i
End Sub
Auriez vous une solution plus "élégante" du style
Code:
plage_tri.AutoFilter Field:=1 AND 2 , Criteria1:=projet, Operator:=xlAnd
Re : Filtrer plusieurs colonnes avec un seul critère
Bonjour Bertrand,
Il faudra plutôt utiliser un filtre "Avancé", qu'un filtre Automatique, surtout si tu as encore d'autres critères de filtres qui vont venir s'ajouter ... ou utiliser un TCD, le cas échéant?
Voir illustration en pièce jointe (si tu as besoin d'une macro, l'enregistreur devrait te donner la syntaxe à utiliser). Attention à la manière d'écrire les critères.
Re : Filtrer plusieurs colonnes avec un seul critère
Bonjour Modeste,
Merci beaucoup pour ta réponse.
En ce qui concerne le filtre avancé, sais tu me dire si il faut obligatoirement passer par l'écriture des données du filtre dans une feuille (la plage K1O6 dans ton exemple), ou bien puis je passer par une écriture complète en VBA??