Recherche multi criteres et bornée

  • Initiateur de la discussion Initiateur de la discussion xylobot
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

xylobot

XLDnaute Nouveau
Bonjour,

Ayant un tableau de référence avec différentes valeur de cases en fonction de produit et de borne min / Max :

Flag / Produit / Borne Min / Borne Max / Case
/ Pomme / 0 / 600 / Case1
/ Pomme / 600,001 / 3000 / Case2
/ Pomme / 3000,001 / 20000 / Case3
x / Pomme / 0 / 30 / Case4
/ Banane / 0 / 75 / Case1
/ Banane / 75.001 / 4500 / Case2
/ Banane / 4500.001 / 20000 / Case3
x / Banane / 5 / 4 / Case4
......

Je souhaite obtenir dans un autre tableau la case correspondante a un produit et son poids (compris entre Borne Min et borne Max), dans un premier temps sans tenir compte du flag x et ensuite en tenant compte de ce flag.

Je boucle dans mes essais et recherches, j'etais ensuite partis dans une fonction VBA mais sans succés.

Merci d'avance pour votre aide,
PAtrick
 

Pièces jointes

Re : Recherche multi criteres et bornée

bonjour Xylobot
bienvenue
simplifier ta formule est suffisant
edit:
grâce à Jcgl que je salue,corrigé les formules
et en plus tête de linotte,oubli fichier
 

Pièces jointes

Dernière édition:
Re : Recherche multi criteres et bornée

Super merci à vous deux,

j'ai fait l'essai avec mes données réels (extract d'un fichier SAP) et cela semble fonctionner. Je valide cela en masse demain.

NB: juste pour essayer de commencer le VBA, si un passionné pouvait me donner quelques bouts de code dans le cadre de cette exemple [ typeCase(PlageProduit,PlageBmin,PlageBmax,Produit,Poids) qui retournerai en valeur la Case], ma curiosité serait satisfaite.

Encore mille merci
A+,
Patrick
 
Re : Recherche multi criteres et bornée

Bonsoir,

NB: juste pour essayer de commencer le VBA, si un passionné pouvait me donner quelques bouts de code dans le cadre de cette exemple :

Voici un petit bout de code ci-dessous

VB:
Sub test()

Dim TabBase() As Variant
TabBase = Range(Cells(3, 1), Cells(18, 5))

Dim TabRes() As Variant
TabRes = Range(Cells(22, 1), Cells(46, 2))
ReDim Preserve TabRes(1 To UBound(TabRes, 1), 1 To 4)


For i = 1 To UBound(TabRes, 1)
    For j = 1 To UBound(TabBase, 1)
        If TabRes(i, 1) = TabBase(j, 2) And _
           Val(TabBase(j, 3)) < Val(TabRes(i, 2)) And _
           Val(TabBase(j, 4)) > Val(TabRes(i, 2)) Then
                TabRes(i, 3) = TabBase(j, 5)
                    If TabBase(j, 1) = "x" Then
                        TabRes(i, 4) = TabBase(j, 5)
                    End If
        End If
    Next j
Next i

For i = 1 To UBound(TabRes, 1)
    Cells(21 + i, 3) = TabRes(i, 3)
    Cells(21 + i, 4) = TabRes(i, 4)
Next i
End Sub

Laurent
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour