RechercheV afficher les noms qui corrspondent à un statut

Trance4life

XLDnaute Nouveau
Bonsoir,

Voir mon fichier ci-joint, j'ai une liste de nom de personnes avec un statut défini pour chaque personne : NA ou A. La feuille s'appelle "Nom".

J'aimerais sur une autre feuille que j'ai créé "Statut", afficher dans 2 tableaux différents la liste des personnes qui sont en NA et celles en A.

J'ai essayé avec une rechercheV mais ça ne marche pas.
Avec un SI non plus car il me laisse des lignes vides.

Merci pour votre aide.

Cordialement.
 

Pièces jointes

  • test.xls
    19.5 KB · Affichages: 48
  • test.xls
    19.5 KB · Affichages: 51
  • test.xls
    19.5 KB · Affichages: 50

Trance4life

XLDnaute Nouveau
Re : RechercheV afficher les noms qui corrspondent à un statut

Merci mais honnêtement j'ai pas trop compris la formule :/

Code:
=SI(LIGNES($4:4)<=NB.SI($C$4:$C$12;F$3);INDEX($B$4:$B$12;PETITE.VALEUR(SI($C$4:$C$12=F$3;LIGNE(INDIRECT("1:"&LIGNES($C$4:$C$12))));LIGNES($4:4)));"")
 

Trance4life

XLDnaute Nouveau
Re : RechercheV afficher les noms qui corrspondent à un statut

Une autre possibilité par macro utilisant le filtre élaboré. Voir le fichier joint.

Honnêrement je connais un peu de vba mais j'ai regardé le code et j'y comprends rien.

Code:
Private Sub Worksheet_Activate()
Dim Rg As Range, Dest As Range
Dim C As Range, Crit As Range, plg As Range

With Worksheets("Nom")
    Set plg = .Range("B3:C" & .Range("C65536").End(xlUp).Row)
End With

Application.ScreenUpdating = False
For a = 1 To 2
    With Worksheets("Nom")
        Select Case a
            Case 1
                Set Dest = Range("B5:C5")
                Set Crit = .Range("D3:D4")
            Case 2
                Set Dest = Range("G5:H5")
                Set Crit = .Range("H3:H4")
            End Select
        End With
    With plg
        .AdvancedFilter xlFilterInPlace, Crit
        Worksheets("Nom").Range("_FilterDataBase").Offset(1).Resize(. _
        Rows.Count + 1).SpecialCells(xlCellTypeVisible).Copy Dest
        Worksheets(.Parent.Name).ShowAllData
    End With
    Dest.CurrentRegion.Offset(2).Sort Key1:=Dest.Item(1, 1), _
        order1:=xlAscending, Header:=xlYes
Next
Application.ScreenUpdating = True

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 930
Membres
103 984
dernier inscrit
maliko67