XL 2010 Confronter deux tableaux et remonter d'infos

  • Initiateur de la discussion Initiateur de la discussion Gazzzz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Gazzzz

XLDnaute Nouveau
Bonjour à tous,

dans le fichier joint, une liste déroulante me permet de sélectionner un menu.
Après sélection, une décomposition de ce menu est générée dans un tableau "compo_menu", j'aimerai confronter ce tableau avec un tableau dans l'onglet "client" pour remonter les noms, prénoms et spécificités des clients concernés par ce menu.
Je ne sais pas par quel bout l'attraper, auriez-vous une piste à me donner?

J'ai simulé le résultat que j'aimerai obtenir dans l'onglet "étiquettes".

Je me demande si je ne dois pas générer un tableau intermédiaire, reprenant les éléments du tableau Compo_repas" en supprimant les "0" et les doublons?

😵, bref je suis arrivé au bouts de mes compétences Excel, c'est pourquoi je sollicite les vôtres. Merci par avance pour votre aide, toutes pistes est bonne à prendre et à apprendre.

Bonne journée, Quentin.
 

Pièces jointes

Bonjour Gazzz,
En PJ un essai avec une fonction perso.
La syntaxe est : Ingredients(Nom, Ordre) avec Ordre=1,2,3 ....

VB:
Function Ingredients(Nom, Ordre)
Dim N As Integer, P As Integer, i As Integer
On Error GoTo Fin
N = Application.Match(Nom, Sheets("Clients").Range("B:B"), 0)
P = 0
For i = 3 To 20
    If Sheets("Clients").Cells(N, i) <> "" Then
        P = P + 1
        If P = Ordre Then
            Ingredients = Sheets("Clients").Cells(N, i)
            Exit Function
        End If
    End If
Next i
Ingredients = ""
Fin:
End Function
Je n'ai pas traité la date, je ne sais pas où l'extraire.
 

Pièces jointes

Bonjour Sylvanu, merci beaucoup pour ta réponse!
Si j'ai bien compris, la fonction que tu as créé, récupère le nom et renvoie les spécificitées de l'onglet client?
C'est déjà une bonne piste!
Ce que je cherche à faire est un peut différent:
Lorsque tu sélectionnes un menu dans l'onglet "repas" en ligne 5, le tableau d'en dessous se modifie pour sortir toutes les spécificités liées à ce repas. cela fonctionne.
J'aimerai maintenant que toutes ces spécificités soient confrontés à l'onglet client pour ne générer que les noms des clients concernés.

En PJ un exemple concret:
Imaginons que le repas ne soit que "salade_de_tomates", le tableau d'en dessous le décompose ainsi:
Entrée
tomates
huile_olive
Légumes
Fibres
Assaisonnements

L'onglet étiquettes ne devra remonter que les client qui on l'une de ces spécificités.
Dans ce cas précis:
uniquement "Brosse Colette" pour deux raisons. Elle n'aime pas l'huile d'olive et elle n'aime pas les tomates.
J'ai simulé l’étiquette que j'aimerai obtenir.

Compliqué tout ça!

en tout cas merci beaucoup pour ton aide .

Pour la date je vais la gèrer avec AUJOURDHUI().
 

Pièces jointes

Le faire tel que vous le voulez est une usine à gaz me semble t-il.
Une autre approche est de réutiliser ma fonction et d'ajouter dans l'étiquette un
VB:
=SI(ET(B2<>"";NB.SI(Repas!$B$4:$I$83;B2)>0);"X";"")
Ce qui donne les ingrédients non désirés et s'ils sont utilisés dans les repas.
Ce qui me semble une approche beaucoup plus simple.
 

Pièces jointes

Merci, il me semblait bien que ça serait très compliqué 😟
L'inconvénient de cette solution, c'est que je ne gère les spécificités qu'à l’ingrédient.

Je vous explique l'objectif final de ce projet. Nous livrons des repas à domicile aux personnes âgées.
Certains n'aiment pas les fruits, d'autres juste les pommes. Certain ont du diabète, d'autre ne tolèrent pas les fibres. Certain ne prennent pas de dessert, d'autre uniquement ceux au chocolat. Cela explique l'architecture un peu biscornue de mon fichier et la décomposition sous la sélection du repas.

J'ai voulu gérer toutes ces particularités. Au final, je veux aboutir à l'édition automatique d'un fichier tous les jours en prenant en compte les spécificités de chacun d'entre eux et du menu.

Je peux avoir un client dont la spécificité n'est pas un ingrédient, mais par exemple "fibres".

J'ai l'impression que le projet est un peu audacieux expliqué comme cela... en tout cas merci pour votre aide.
 
Oui, mais dans ce cas on devrait avoir quelque part une relation entre "fibres" et M. X.
Pourquoi ne pas rajouter dans la feuille clients en fin de tableau ces particularités.
Rien ne vous empêche de dire que Colette a le diabète.
Par contre dans Repas je vois bien Fibres qu'on peut donc extraire mais pas Diabète.
Donc comment faire la relation entre Clients-Particularités-Repas ?
 
Pourquoi ne pas rajouter dans la feuille clients en fin de tableau ces particularités.
Rien ne vous empêche de dire que Colette a le diabète.

Oui, je l'ai fait juste après avoir posté. Toutes mes excuses. Pour éviter de créer trop de colonnes dans l'onglet client, je vais essayer de voir si il est possible de regrouper mes listes existantes (ingrédients, plats, familles, particularité) en une seule avec une formule dans la validation des données.

Par contre dans Repas je vois bien Fibres qu'on peut donc extraire mais pas Diabète.
Donc comment faire la relation entre Clients-Particularités-Repas ?
Je ne comprends pas ce que vous voulez dire? Si dans la feuille "repas" à l'endroit "dessert" je sélectionne "gateau_au_chocolat", "diabétique" remonte correctement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour