Probleme de Recherche dans un tableau

Bonjour à tous,

J'ai crée un tableau dans lequel j'ai plusieurs données (onglet "Mat").

Je dois y rechercher une hauteur de mat en fonction d'une autre.

Dans l'onglet "Donnees", je choisis mon type d'appareil grace à une liste deroulante dans la cellule C4

En fonction de ce choix, une liste se met à jour en C5 et je choisis mon type de mat.

En fonction de ce choix, une liste de hauteur de mat se met à jour en C7.

Et en fonction de ce dernier choix, j'aimerais qu'excel renseigne automatiquement les cellules D7, E7, F7 et G7....

En effet, dans l'exemple du fichier ci-joint, l'appareil est un RX_20_15 et le mat un Triplex (d'ou le nom RX_20_15_Triplex en C5).

J'ai choisis dans la liste déroulante la valeur "4620".

Cette valeur correspond dans le tableau (onglet Mat) à la cellule F21 (mat RX_20_15_Triplex)

Je devrais donc avoir D7(dans l'onglet Donnees) = 2060 (valeur D21 du tableau dans l'onglet mat),

E7(dans l'onglet Donnees) = 1462 (valeur E21 du tableau dans l'onglet mat),

F7(dans l'onglet Donnees) = 5238 (valeur G21 du tableau dans l'onglet mat)

G7(dans l'onglet Donnees) = 1450 (valeur H21 du tableau dans l'onglet mat)

J'ai essayer de le faire de plusieurs façon mais rien ne fonctionne....si quelqu'un peut me venir en aide...

J'aimerais eviter le plus possible l'utilisation de macro pour des raisons de securité.

Merci d'avance,

A+

8schema-rx20.xlsx (132.09 Ko)

Bonjour

J'ai nommé les différentes colonnes

Après quoi, une formule matricielle fait le reste

(Les matricielles sont à valider avec les 3 touches Ctrl+Maj+Entrée)

Cordialement

10schema-rx20.xlsx (132.69 Ko)

Merci beaucoup pour ton aide.... Ca fonctionne.... Bon j'avoue que je n'ai pas compris tout ce que tu as fais.....

Peux tu m'expliquer les formules index et EQUIV que je ne connais pas ?

Je me doute que tu as crée des zones (haut 1, haut 2.....) mais comment les visualiser... J'aimerais aussi que tu m'expliques ?

Merci encore pour le boulot

Bonjour

Pour définir un nom et utiliser ce nom dans les formules, voir:

J'ai nommé Chariot la formule

=DECALER(Mats!$B$7;;;NBVAL(Mats!$B$7:$B$200))

si tes données vont au dela de la ligne 200, tu peux mettre 500, 1000 ou 10 000.

Suite de quoi, j'ai nommé une formule pour chaque colonnes

=DECALER(Mats!$D$7;;;NBVAL(Chariot)) 

est nommé haut1

=DECALER(Mats!$E$7;;;NBVAL(Chariot))

est nommé haut2

=DECALER(Mats!$F$7;;;NBVAL(Chariot)) 

est nommé haut3

=DECALER(Mats!$G$7;;;NBVAL(Chariot)) 

est nommé haut4

Pour la fonction imbriquée INDEX-EQUIV, un tutoriel sur le site ici:

https://www.excel-pratique.com/fr/fonctions/index_equiv.php

La seule différence avec la Fonction matricielle utilisée pour ton fichier, c'est que EQUIV cherche sur 2 champs correspondants donc à 2 critères.

Toutefois, si tu es rebuté par les formules matricielle, toujours délicates à valider, je t'ai indiqué sur ce fichier une solution avec SOMMEPROD qui se valide normalement( par ex pour h1

=SOMMEPROD((Chariot=$C$5)*(haut3=$C$7);haut1)
=SOMMEPROD((Champ1=Critère1)*(Champ2=Critère2); Champ_Cherché)

Cordialement

4schema-rx20-v2.xlsx (131.49 Ko)

Merci beaucoup ! Grâce à toi, j'ai appris plein de nouvelles choses....

La partie matricielle reste un peu obscure cependant.... (je vois pas trop comment ça s'utilise et a quoi ça sert...même si je sais ce qu'est une matrice)

je ne vois pas pourquoi tu cherches la valeur 1 dans la formule (par exemple) :

{=index(haut2;EQUIV(1;(Chariot=$C$5)*(haut3=$c=7);0))}

N'aurait-il pas été plus facile de faire :

=INDEX(haut2;EQUIV(C7;haut3;0);0)....non ? je dois louper quelque chose mais je vois pas....

Merci encore

A+

Rechercher des sujets similaires à "probleme recherche tableau"