Recherche sous plusieurs conditions

Fermé
Enenoiz Messages postés 2 Date d'inscription vendredi 30 novembre 2018 Statut Membre Dernière intervention 30 novembre 2018 - Modifié le 30 nov. 2018 à 12:08
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 30 nov. 2018 à 15:56
Bonjour à tous,

Je suis actuellement en train de travailler sur une base de données et je cherche à afficher des valerus selon plusieurs conditions.

Mon fichier Excel est constitué de plusieurs feuille. La première nommée "USINAGE" est ma base de données.
La seconde, "Fiche" est une feuille récapitulative dans laquelle je veux reprendre certains éléments de ma base de données que j'ai nommée "Tableau 3".

Je voudrais que :
- Si le n°OF compléter dans le cellule D3 de la feuille "Fiche" est égale au n°OF de la base de données, colonne E (un même n°OF apparait plusieurs fois)
- ET SI la position renseignée en cellule C2 de la feuille "Fiche" est égale à la position de al base de données, colonne AL (une m^me position apparait plusieurs fois,
[- ET SI la lettre dans la colonne L de la base de données (Fts) est égal à A (A apparait plusieurs fois), ] <- condition en option

ALORS : inscrire dans la colonne F (cases violettes) de la fuille "Fiche", le n°Tôle associé retrouvé dans la base de données "USINAGE" colonne K.

J'ai essayé plusieurs formule et notamment :
=SIERREUR(INDEX(Tableau3[N° Tôle];PETITE.VALEUR(SI($D$3=Tableau3[N° OF];(LIGNE(Tableau3[N° OF])-MIN(LIGNE($A$2)))+1;"");LIGNES(F$7:F7)));"") : qui fonctionne mais sans prendre en compte la position (ni la lettre "A")

Et j'ai tenté une double condition avec SI(ET...
=SIERREUR(INDEX(Tableau3[N° Tôle];PETITE.VALEUR(SI(ET($C$7=Tableau3[Position];$D$3=Tableau3[N° OF]);(LIGNE(Tableau3[N° OF])-MIN(LIGNE($A$2)))+1;"");LIGNES(F$7:F7)));"") : mais cela ne fonctionne pas.

J'espère avoir été claire!

Pouvez-vous m'aider? Est-ce que c'est faisable sans macro?

Merci à tous :)

1 réponse

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
30 nov. 2018 à 12:21
Bonjour

=SIERREUR(INDEX(Tableau3[N° Tôle];PETITE.VALEUR(SI($C$7&$D$3=Tableau3[Position]&Tableau3[N° OF]);(LIGNE(Tableau3[N° OF])-MIN(LIGNE($A$2)))+1;"");LIGNES(F$7:F7)));"")
bien sur en matricielle. Ne fonctionnera que si vous n'avez que des codes à 4 chiffres en N°OF, sinon risque de confusion

crdlmnt

0
Enenoiz Messages postés 2 Date d'inscription vendredi 30 novembre 2018 Statut Membre Dernière intervention 30 novembre 2018
30 nov. 2018 à 15:49
Merci beaucoup, ça a l'air de fonctionner même avec un n°OF contenant 8 chiffres (pour l'instant)!

Bonne journée!
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié le 30 nov. 2018 à 15:57
Pas de problème tant que les codes ont le même nombre de chiffres.
Si jamais il y avait une redondance, (Par exemple 21 et 5000 avec 2 et 15000)voyez en modifiant les adresses cherchées et champs de recherche (en gras ci dessous)
=SIERREUR(INDEX(Tableau3[N° Tôle];PETITE.VALEUR(SI($C$7&"_"&$D$3=Tableau3[Position]&"_"&Tableau3[N° OF]);(LIGNE(Tableau3[N° OF])-MIN(LIGNE($A$2)))+1;"");LIGNES(F$7:F7)));"")
si cela vous convient, merci de passer le sujet en résolu
(roue dentée à droite du titre en haut du fil)
Bonne route
crdlmnt
0