Problème de fonctions index + equiv imbriqués

Résolu/Fermé
fcsjeux Messages postés 10 Date d'inscription dimanche 11 décembre 2011 Statut Membre Dernière intervention 6 janvier 2012 - Modifié par fcsjeux le 5/01/2012 à 14:07
fcsjeux Messages postés 10 Date d'inscription dimanche 11 décembre 2011 Statut Membre Dernière intervention 6 janvier 2012 - 6 janv. 2012 à 12:47
Bonjour,

Je souhaite adapter un exemple d'imbrication de fonctions index et equiv à mon projet, j'obtient un résultat mais incohérent, saurez vous me sortir de là ?! :D

Voilà mon projet simplifié :

Le but est d'obtenir le bon diamètre de vis (Dv) adapté à 2 variables d'entrées : le diamètre du tube (Dt) et sa longueur (L).
On retrouve ces deux variables dans une base de données et on les choisis grâce à des combobox.
En fait, la difficulté vient du fait que pour le même Dt, on peut avoir deux L différentes et pour ces deux L on peut avoir deux Dv différents.

Voyez plutôt :

........A.........B........C
1.....Dt=......#choisi par utilisateur#
2.....L=........#choisi par utilisateur#
3
4.....Base de données :
5.....Dt....... L.......Dv
6.....4........10.......2
7.....4........15.......2
8.....6........10.......4
9.....8........10.......2
10...8 .......15.......4

Donc si l'utilisateur donne :
Dt=8 et L=15
alors Dv=4
De la même manière avec
Dt=6 et L=10
alors Dv=4

J'ai tenté avec cette formule :
=INDEX(C6:C10;MATCH(A2;OFFSET(B6:B10;MATCH(A1;A6:A10;0););0))
Mais comme je le disais, les résultats sont incohérents.

Quelqu'un connait ce genre de manip' ??
Merci ! ;)

PS : désolé pour l'illustration mais je n'ai pas vraiment le temps de chercher à faire autrement.

2 réponses

fcsjeux Messages postés 10 Date d'inscription dimanche 11 décembre 2011 Statut Membre Dernière intervention 6 janvier 2012
6 janv. 2012 à 11:50
C'est bon, en prenant le problème autrement, il fallait faire une macro... plutôt évidente d'ailleurs ...

Private Sub CommandButton1_Click()
Dim i As Integer
Do
i = i + 1
Loop Until Range("B1") = Cells(5 + i, 1) And Range("B2") = Cells(5 + i, 2)
Range("B3") = Cells(5 + i, 3)
End Sub

macro activé par bouton et avec en B3 le Dv recherché.

En espérant que ça puisse servir à d'autre !
0
fcsjeux Messages postés 10 Date d'inscription dimanche 11 décembre 2011 Statut Membre Dernière intervention 6 janvier 2012
6 janv. 2012 à 12:47
Ayant posté aussi cette question ici :
http://www.developpez.net/forums/d1171694/logiciels/microsoft-office/excel/macros-vba-excel/probleme-fonctions-index-p-equiv-imbriques/#post6436140</code>

J'ai finalement aussi récupéré la formule adéquate.
à bon entendeur !
0