filtrer une colonne par une liste de valeurs d'une autre colonne

petitbeluga

XLDnaute Nouveau
Bonjour,

Une nouvelle question de filtre, je cherche depuis quelques temps mais sans trouver....

Comment filtrer une colonne à l'aide d'une autre colonne ?
Ci-joint un tableau pour rendre ma demande plus compréhensible.
Merci d'avance pour votre aide !!! :)
 

Pièces jointes

  • Question-Filtre.xlsx
    11.1 KB · Affichages: 56

Robert

XLDnaute Barbatruc
Repose en paix
Re : filtrer une colonne par une liste de valeurs d'une autre colonne

Bonjour Petitbeluga, bonjour le forum,

Peut-être comme ça :
Code:
Sub Macro1()
Dim o As Object 'déclare la variable o (Onglet)
Dim dlc As Long 'déclare la variable dlc (Dernière Ligne des Critères)
Dim plc As Range 'déclare la variable plc (PLage des Critères)
Dim dlf As Long 'déclare la variable dlf (Dernière Ligne de la colonne Fitrée)
Dim plf As Range 'déclare la variable plf (PLage de la colonne Filtrée)
Dim cel As Range 'déclare la variable cel (CELlule)

Set o = Sheets("Feuil1") 'définit l'onglet o
dlc = o.Cells(Application.Rows.Count, 6).End(xlUp).Row 'définit la dernière ligne éditée dlc de la colonne 6 (=F) des critères
Set plc = o.Range("F2:F" & dlc) 'définit la plage plc des critères
dlf = o.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée dlf de la colonne 1 (=A) des filtres
Set plf = o.Range("A2:A" & dlf) 'définit la plage plc des filtres
For Each cel In plc 'boucle sur toutes les cellules cel de la plage plc
    o.Range("A1").AutoFilter Field:=1, Criteria1:=cel.Value 'filtre la colonne 1 (=A) par rapport au ctitère cel
    MsgBox "le bon matricule est " & plf.SpecialCells(xlCellTypeVisible).Cells(1, 4) & " !" 'message à effacer
    'ici la suite de ton code
    o.Range("A1").AutoFilter 'supprime le filtre automatique
Next cel 'prochaine cellule de la boucle
End Sub
 

petitbeluga

XLDnaute Nouveau
Re : filtrer une colonne par une liste de valeurs d'une autre colonne

Bonjour Robert,

merci pour ta réponse, mais pour mon (petit) niveau j'avoue la trouver plutôt compliquée! Je ne sais pas coder.
Je suis ok pour m'y mettre mais dans l'immédiat j'ai besoin d'une solution simple.

Y'a t-il d'autres possibilités?

Avec une formule SI ?

Avec un tableau croisé-dynamique?...

Je cherche....mais j'ai l'impression de tourner en rond...
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : filtrer une colonne par une liste de valeurs d'une autre colonne

Bonjour,

http://boisgontierjacques.free.fr/fichiers/Filtre/FltreAutoListe.xlsm

Code:
Sub ValeursMultiples()
  a = Range("E2:E" & [E65000].End(xlUp).Row).Value
  Dim b(): ReDim b(1 To UBound(a))
  For i = 1 To UBound(a)
     b(i) = CStr(a(i, 1))
  Next i
  ActiveSheet.Range("$A$1:$B$100").AutoFilter Field:=2, Criteria1:=b, Operator:=xlFilterValues
End Sub


JB
 

Discussions similaires

Statistiques des forums

Discussions
312 547
Messages
2 089 490
Membres
104 185
dernier inscrit
Daniel RONNA