Recherche basée sur des critères

9base.xlsm (34.97 Ko)

Bonjour

J'essaye de réaliser une recherche basée sur des critères.

Extraire en liste sans doublon les # de semaines utilisées dans la feuille (Commande), colonne (E) pour les critères mentionnés en cellules (B2, C2, D2) dans la feuille Résultat.

Si je change d'années, les semaines doivent changer aussi en fonction des critères.

Dans mon code actuel proposé par un collègue, cela fonctionne sur 2 critères dans la feuille résultat en «B2 et C2». J'aimerais rajouter le critère en D2 dans la recherche.

J'ai mis mon fichier pour être plus clair dans ce que je dis.

Merci pour votre aide et temps précieux!

Bonjour,
Ton fichier en retour avec la prise en compte du 3e. critère.
J'ai mis les données sous forme de tableau structuré et revu les formules de des numéros de semaine et années (norme ISO).
Cdlt.

11base.xlsm (37.30 Ko)

Allo Jean-Éric

Je préfère mieux une approche vba.

Aussi, je ne travaille pas en mode tableau. J'ai d'autres macros dans mon projet.

Bonjour,
J'ai revu la procédure VBA (à tester).
Attention à tes formules semaines et année !
Cdlt.

Sub Recherche()
Dim a, d As New Dictionary, i As Long, k As Long, Criteria1 As Long, Criteria2 As Long, Criteria3

    a = Worksheets("Commande").Cells(1).CurrentRegion

    With Worksheets("Résultat")
        .Range("A2:A100").ClearContents
        Criteria1 = .Range("B2").Value
        Criteria2 = .Range("C2").Value
        Criteria3 = .Range("D2").Value
    End With

    For i = 2 To UBound(a)
        k = k + 1
        If (a(i, 7) = Criteria1 Or a(i, 7) = Criteria2) And a(i, 11) = Criteria3 Then
            d(a(k, 5)) = a(i, 7) & "W" & Format(a(i, 5), "00")
        End If
    Next

    If d.Count > 1 Then
        With Worksheets("Résultat")
            .Range("A2").Resize(d.Count) = Application.Transpose(d.Items)
            .Range("A2:A" & .Cells(.Rows.Count, "A").End(xlUp).Row).Sort key1:=.Range("A2"), order1:=xlAscending
        End With
    End If

End Sub

A noter qu'il s'agit d'un multipost sur au moins 3 forums

Merci pour le code proposé!

Si je choisi la même année dans les critères 1 et 2, cela ne fonctionne pas.

Re,
As-tu des résultats des autres forums ?
Cdlt.

j'ai eu des approches de filtre élaborée.

Je préfère une réponse par vba.

Merci pour ton temps!

Rechercher des sujets similaires à "recherche basee criteres"