VBA match multicritères
Le
Droopy191

Bonjour,
Je cherche à faire un equiv multicritères en VBA.
Dans la feuille de donnée, si je concatène 2 colonnes, et utilise
EQUIV, ca marche.
Comment faire en VBA sans passer par cette colonne supplémentaire dans
la feuille ?
J'ai vu ce genre de code comme ci-dessous sur le web mais je n'arrive
pas à l'appliquer:
ref_A et ref_B sont 2 chaines de caractères contenant mes critères
L_A et L_B 2 plages nommées dans une feuille liée à une base externe.
en simplifié
With Worksheets("gamme")
N_ligne = Application.Match(ref_A & "-" & ref_B, "" & .Range("L_A") &
"-" & .Range("L_B"), 0)
End with
en sortie j'ai tjs un #VALEUR!
J'ai vu aussi des codes basés sur evaluate sans pouvoir l'appliquer non
plus.
Merci pour vos pistes
--
DR
Je cherche à faire un equiv multicritères en VBA.
Dans la feuille de donnée, si je concatène 2 colonnes, et utilise
EQUIV, ca marche.
Comment faire en VBA sans passer par cette colonne supplémentaire dans
la feuille ?
J'ai vu ce genre de code comme ci-dessous sur le web mais je n'arrive
pas à l'appliquer:
ref_A et ref_B sont 2 chaines de caractères contenant mes critères
L_A et L_B 2 plages nommées dans une feuille liée à une base externe.
en simplifié
With Worksheets("gamme")
N_ligne = Application.Match(ref_A & "-" & ref_B, "" & .Range("L_A") &
"-" & .Range("L_B"), 0)
End with
en sortie j'ai tjs un #VALEUR!
J'ai vu aussi des codes basés sur evaluate sans pouvoir l'appliquer non
plus.
Merci pour vos pistes
--
DR
For i = 1 To [L_A].Count
If Range("L_A")(i) = ref_A And Range("L_B")(i) = ref_b Then
MsgBox i
Exit Sub
End If
Next i
Cordialement.
Daniel
pour le premier match trouvé,
x = Evaluate("=MATCH(ref_A&ref_B,L_A&L_B,0)")
pour le nombre de ligne répondant au 2 critères
x = Evaluate("=SUMPRODUCT(--(L_A=ref_A)*(L_B=ref_B))")
isabelle
Le 2016-04-22 02:59, Droopy191 a écrit :
--
DR
--
DR