|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2011 Messages : 122 ![]() |
Bonjour.
Je souhaiterai savoir s’il existe une solution à mon problème avec des formules sans devoir passer par une macro VBA que je ne maitrise pas du tout !! J’ai un tableau. Dans la colonne A la référence des produits finis. Dans les colonnes B C D E les composants qui rentrent dans la composition de ces produits. Je souhaiterai retrouvé à l’aide d’une formule, tous les produits finis lorsque j’entre le nom d’un composant. Exemple : Composant 1 Composant 2 Composant 3 Composant 4 Produit A E F G J Produit B G I F L Produit C I E K F Dans une cellule j’entre le composant E pour retrouver les produits A et C dans 2 autres cellules. Si je cherche F je dois retrouver A B et C dans 3 autres cellules. Merci de votre aide. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Retraité Inscription : avril 2011 Messages : 700 ![]() |
Bonjour,
Voici une solution simple qui te permet de visualiser les produits finis qui contiennent le composant recherché. Ces produits finis sont signalés par une Mise en Forme Conditionnelle (remplissage de la cellule en rouge) en utilisant une formule pour déterminer pour quelles cellules le format sera appliqué. Formule =SOMMEPROD((B2:E2=$G$2)*1) S’applique à la plage $A$2:$A$4. Cordialement. |
|
|
20
|
|
|
#3 |
|
Membre expérimenté
![]() Enseignant Inscription : novembre 2009 Messages : 350 ![]() |
Bonjour à tous,
En supposant que tes données sont saisies dans la plage A1:E4, les noms des produits dans A1:A4 et les composants dans B1:E4... La valeur cherchée de l'un des composants dans la cellule G1, une formule matricielle (à valider par CTRL+MAJ+ENTREE) est peut être une solution: Code :
=SIERREUR(INDEX($A$1:$A$4;PETITE.VALEUR(SI($B$1:$E$4=$G$1;LIGNE($A$1:$A$4));LIGNE($A1)));"") Cordialement |
|
|
10
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2011 Messages : 122 ![]() |
Bonsoir et tout d'abord merci de votre aide à tout les 2.
J'ai testé les 2 procédures. La première avec les couleurs fonctionne parfaitement. J'ai simplement rajouté ceci : Code :
=SI($Q$2="";"";SOMMEPROD((B2:L2=$Q$2)*1)) ![]() La deuxième fonctionne très bien dans l'onglet ou se trouve le tableau mais je n'arrive pas à la faire fonctionner dans une autre feuille que celle ou se trouve les données. Celle-ci m'intéresse mais comment procéder svp? Par contre pour valider une formule matricielle il faut appuyer sur CTRL+SHIFT+ENTREE. ![]() La touche MAJ verrouille les majuscules et ne fonctionne pas. C'est juste pour informer les visiteurs du forum. |
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() Enseignant Inscription : novembre 2009 Messages : 350 ![]() |
Bonjour à tous,
Pour que la formule fonctionne dans un autre onglet que celui qui contient les tableaux, on ajoutera le nom de l'onglet devant les deux plages $A$1:$A$4 ; $B$1:$E$4 de la formule qui deviendra (en supposant que l'onglet qui contient les tableaux se nomme Feuil1): Code :
=SIERREUR(INDEX(Feuil1!$A$1:$A$4;PETITE.VALEUR(SI(Feuil1!$B$1:$E$4=$G$1;LIGNE($A$1:$A$4));LIGNE($A1)));"") Code :
=SIERREUR(INDEX(Plage1;PETITE.VALEUR(SI(Plage2=$G$1;LIGNE($A$1:$A$4));LIGNE($A1)));"") Cordialement |
|
|
00
|
|
|
#6 |
|
Candidat au titre de Membre du Club
![]() Inscription : juin 2011 Messages : 122 ![]() |
Pour la 2ème procédure qui m'intéressait davantage voici comment j'ai modifié la formule :
Code :
=SIERREUR(INDEX(BASE!$A$1:$A$1500;PETITE.VALEUR(SI(BASE!$B$1:$H$1500=$A$4;LIGNE(BASE!$A$1:$A$1500));LIGNE(BASE!$A1)));"") |
|
|
00
|
|
|
#7 |
|
Membre expérimenté
![]() Enseignant Inscription : novembre 2009 Messages : 350 ![]() |
Bonjour,
La formule que tu proposes peut être simplifiée en : Code :
=SIERREUR(INDEX(BASE!$A$1:$A$1500;PETITE.VALEUR(SI(BASE!$B$1:$H$1500=$A$4;LIGNE($A$1:$A$1500));LIGNE($A1)));"") La simplification faite sur la formule n'a aucun effet sur le bon fonctionnement de la formule... En espérant que cette modeste explication soit satisfaisante... Cordialement |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com