Méthode pour relier liste déroulante à base de données

jojolabricot14

XLDnaute Nouveau
Bonjour à tous,

Un petit problème sous Excel m'amène à vous demander votre aide.

Je dispose d'un fichier recensant des recettes ainsi que leur ingrédients et quantités correspondantes.

Je cherche, à partir d'un autre onglet et grâce à une liste déroulante, à pouvoir sélectionner une recette et que viennent ensuite s'ajouter automatiquement les ingrédients nécessaires.

Exemple à partir du fichier :
En sélectionnant dans l'onglet 2 (A2) la recette tarte au melon, je souhaite que les ingrédients sucre bio ect... viennent s'inscrire dans la colonne B, idem pour les quantités en colonnes C.


Merci d'avance de votre aide
 

Pièces jointes

  • Exemple_recettes.xlsx
    10.5 KB · Affichages: 79

Modeste

XLDnaute Barbatruc
Re : Méthode pour relier liste déroulante à base de données

Bonjour jojolabricot et bienvenue à toi,

Une proposition en pièce jointe, dont l'avantage est de ne pas être trop difficile à comprendre:
- en colonne E de la Feuil1, une formule affiche le n° de la ligne courante, si en colonne A (pour la même ligne) le produit est identique à celui sélectionné dans ta liste.
- en colonne B de la Feuil2, une autre formule, qu'on recopie ensuite vers le bas et la droite et qui complète tes 3 colonnes

... à tester ...

Edit: mes confraternelles, amicales et néanmoins respectueuses salutations à Dugenou :)
 

Pièces jointes

  • Exemple_recettes (jojolabricot).xlsx
    12.4 KB · Affichages: 89
Dernière édition:

jojolabricot14

XLDnaute Nouveau
Re : Méthode pour relier liste déroulante à base de données

Bonjour Modeste,

Merci beaucoup c'est exactement ce que je cherchais et ça marche impeccablement bien.

Par contre, je peine quelque peu a comprendre le fonctionnement de la formule de l'onglet 2....
Y'aurait-il possibilité d'avoir un rapide explicatif afin que je puisse la retranscrire sur mon véritable fichier ?


Merci d'avance,
 
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Méthode pour relier liste déroulante à base de données

Re-bonjour,


La première partie de la formule
Code:
SI(LIGNES($1:1)>NB(Feuil1!$E:$E);"";[...])
permet simplement de ne pas afficher de messages d'erreur (#NOMBRE!), lorsqu'on recopie la formule sur plus de lignes qu'il n'y a d'ingrédients renseignés pour la recette choisie.

L'essentiel est donc ici:
Code:
INDEX(Feuil1!B$1:B$30;PETITE.VALEUR(Feuil1!$E$3:$E$30;LIGNES($1:1)))
PETITE.VALEUR permettra de trouver, en colonne E de la Feuil1, le plus petit n° de ligne renseigné, puis le plus petit au rang 2, puis le plus petit au rang 3, etc. Pour ne pas taper soi-même les rangs (1, puis 2, puis 3 et ainsi de suite), on utilise LIGNES($1:1) qui, recopiée vers le bas, donnera ces mêmes résultats.

Pas le temps de faire plus long, ni plus détaillé, mais n'hésite pas à faire des tests, pour comprendre des bouts de la formule, plutôt qu'avaler la couleuvre en une seule fois ;)

N'hésite pas non plus à revenir nous dire si quelque chose n'est pas encore très clair !
 

Discussions similaires

Statistiques des forums

Discussions
312 095
Messages
2 085 250
Membres
102 837
dernier inscrit
CRETE