Liste de choix

Bonjour

Je cherche une Macro capable à partir d'une liste de choix de me fournir une liste de lignes.

Dans mon fichier :

En feuille 1, j'ai une liste de choix (pour l exemple les jours de la semaine)

En feuille 2, j'ai une série de paramètres qui sont appliqués à chacune des entrées de ma liste de choix de la feuille 1

La Macro que je recherche permet de retrouver dans l'onglet résultat uniquement les lignes correspondants au choix fait par l'utilisateur dans la liste de la feuille 1.

Je vous remercie d'avance

Bonjour,

A tester :

Sub Test()

    Dim Plage As Range
    Dim PlgJour As Range
    Dim CelJour As Range
    Dim Cel As Range
    Dim Tbl() As String
    Dim I As Long
    Dim Adr As String

    'défini la plage sur la feuille "Feuille 2" en colonne A à partir de A1
    With Worksheets("Feuille 2"): Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With

    'défini la plage sur la feuille "Feuill 1" en colonne A à partir de A3 et ne récupère que les cellules visible
    With Worksheets("Feuille 1"): Set PlgJour = Range(.Cells(3, 1), .Cells(.Rows.Count, 1).End(xlUp)).Cells.SpecialCells(xlCellTypeVisible): End With

    'effectue une recherche partielle du jour et stocke dans un tableau
    For Each CelJour In PlgJour

        Set Cel = Plage.Find(CelJour.Value, , xlValues, xlPart)

        If Not Cel Is Nothing Then

            Adr = Cel.Address

            Do

                I = I + 1: ReDim Preserve Tbl(1 To I)
                Tbl(I) = Cel.Value
                Set Cel = Plage.FindNext(Cel)

            Loop While Cel.Address <> Adr

        End If

    Next CelJour

    'les résultats dans la feuille "Résultat"
    If Not (Not Tbl) Then

        For I = 1 To UBound(Tbl)

            Worksheets("Résultat").Cells(I, 1).Value = Tbl(I)

        Next I

    End If

End Sub

Un grand merci, votre macro appliqué à mon réel cas a donné le résultat souhaité.

Content de t'avoir aidé

Rechercher des sujets similaires à "liste choix"