XL 2019 Combiner l'utilisation des fonctions RechercheV, SI, ET, COLONNE

Mags84

XLDnaute Nouveau
Bonjour à tous,

Je suis nouvelle sur ce forum et je vous remercie de m'y voir accepté.

Je vous présente mon problème (je vous mets le fichier exemple en PJ).

J'ai créée une base de données onglet "2022" dont je me sers entre autres choses pour alimenter une fiche dans l'onglet "TRAME".
Au départ (comme dans l'exemple) dans l'onglet trame, je ne saisissais que le code produit (colonne A) et le reste des champs se remplissait avec la formule suivante : =SI($A12="";"";SIERREUR(RECHERCHEV($A12;'2022'!$A:$AF;COLONNE('2022'!$J:$J);FAUX);"codeinconnu"))

Cependant, je me suis aperçue que si le code article était utilisé deux fois dans l'onglet "2022", cela me renvoyait les premières informations qu'il trouvait. Je souhaite donc rajouter une condition à ma formule à savoir, dans mon exemple, si le code article en cellule A2 et le n° op en cellule I1 sont réunis alors on affiche les éléments des colonnes et lignes concernées dans l'onglet "2022".

Je ne sais pas si j'ai été bien claire ... En tous les cas, je remercie ceux qui pourront me donner un coup de main.

Magali
 

Pièces jointes

  • Exemple Exel.xlsx
    35.1 KB · Affichages: 10
Solution
Pour ta recherche fait dans "2022" ajouter une colonne devant (concatenation de code pdt et N°OP)
comme Cela ta valeur recherchée dans tes formules sera plus uniquement le code produit mais la concatenation des 2 avec le N° OP en $i$1

Exemple pour la cellule B12 ("2022")
=SI($A12="";"";SIERREUR(RECHERCHEV($A12&$I$1;'2022'!$A:$AG;COLONNE('2022'!$K:$K);FAUX);"codeinconnu"))
J'essaie cela demain et je vous dit ça fonctionne.
Merci dans tous les cas à tous pour le coup de main

djidji59430

XLDnaute Barbatruc
Heureusement, que c'est pas mal !!!
la formule decaler va me permettre de sélectionner la colonne ou je vais faire ma recherche. et le résultat sera
=index colonne de recherche; equiv(departement dans la liste des départements)
et pour trouver la bonne colonne de recherche, je decale la colonne des départements de equiv(kilometre dans les intitulées de colonne Km; en utilisant le dernier paramètre de la fonction equiv qui permet de prendre la valeur immédiatement inférieure et qui existe dans la liste .
par exemple, si je cherche 1500 km, c'est entre 1000 et 2000 ==>j'aurai la valeur de 1000

Crdlmt
 

djidji59430

XLDnaute Barbatruc
Effectivement, ce n'etait pas ton fichier !!!

la formule sommeprod() permet de rechercher un nombre dans une matrice avec des conditions.
les conditions donnent de matrices de 1 et de 0, et si , dans le cas qui nous interersse tu fais le produit des 3 matrices, tout ce qui est x0==>0 il te reste une matrice avec la valeur 'qui correspond aux 1 et des zero. et la somme de cette matrice te donne la valeur recherchée. (Vois dans l'aide produit de marice)

Crdlmt
 

Mags84

XLDnaute Nouveau
Re-bonjour,

Je pense que tu te trompes encore de conversation. Mon tableau concerne des produits vins et tu as juste rajouter une liste déroulante dans le n° OP si j'ai bien vu. sauf si bien sur des formules sont cachées...
Cela dit, cette solution ne fonctionne pas sur mon tableau initial qui comporte beaucoup plus de ligne.
il faut vraiment combiner les deux conditions à savoir code produit dans colonne A et n°op en cellule I10 pour afficher la valeur désirée qui se trouve dans la matrice "2022"

Je veux afficher dans la cellule C14 le gencod bouteille se trouvant dans la matrice "2022" pour le produit n° 498 ET en fonction N°OP stipuler en cellule I10.
 
Dernière édition:

Dugenou

XLDnaute Barbatruc
Bonjour Mags, Dijdji,
En effet l'explication de DjiDji concerne une autre conversation ;)
Pour votre demande : le numéro d'OP est-il unique dans votre tableau initial ?
Si oui, il vous suffit de modifier la zone de données de la liste déroulante.
Ou bien est-ce que seul le couple N° d'OP et code article est unique ?

Cordialement
 

Deadpool_CC

XLDnaute Accro
Pour ta recherche fait dans "2022" ajouter une colonne devant (concatenation de code pdt et N°OP)
comme Cela ta valeur recherchée dans tes formules sera plus uniquement le code produit mais la concatenation des 2 avec le N° OP en $i$1

Exemple pour la cellule B12 ("2022")
=SI($A12="";"";SIERREUR(RECHERCHEV($A12&$I$1;'2022'!$A:$AG;COLONNE('2022'!$K:$K);FAUX);"codeinconnu"))
 

Pièces jointes

  • Exemple Exel.xlsx
    28.8 KB · Affichages: 11

Mags84

XLDnaute Nouveau
Pour ta recherche fait dans "2022" ajouter une colonne devant (concatenation de code pdt et N°OP)
comme Cela ta valeur recherchée dans tes formules sera plus uniquement le code produit mais la concatenation des 2 avec le N° OP en $i$1

Exemple pour la cellule B12 ("2022")
=SI($A12="";"";SIERREUR(RECHERCHEV($A12&$I$1;'2022'!$A:$AG;COLONNE('2022'!$K:$K);FAUX);"codeinconnu"))
J'essaie cela demain et je vous dit ça fonctionne.
Merci dans tous les cas à tous pour le coup de main
 

Discussions similaires

Statistiques des forums

Discussions
314 717
Messages
2 112 167
Membres
111 448
dernier inscrit
ayment