Microsoft 365 Liste de courses en fonction du menu

dubarre

XLDnaute Occasionnel
Bonjour à tous j'espère que avec cette chaleur vous ne fondez pas trop, je viens vers vous car j'ai une petite question et je n'arrive pas à trouver la solution dans mon classeur Excel j'ai trois onglets.

–Menu
–liste des courses
–aliments

L'onglet aliments remplit les listes déroulantes qui sont dans les cellules des menus.

Je voudrais savoir si il était possible qu'en fonction de ce que je remplis dans le menu ma liste de courses remplies automatiquement je ne sais pas dans quelle direction aller.

Je vais essayer d'être le plus clair possible pour que vous puissiez m'aider, j'ai un menu par semaine ça veut dire que si il y a deux fois du steak haché dans la semaine dans ma liste de courses il faudra qu'il y ait 2 steaks hachés de même pour le poisson ou autre aliments ensuite moi je fais la sélection de ce que j'ai besoin par la suite mais déjà ma liste de base sera automatiquement remplie si cela est possible.

Il y a deux boutons sur déjeuner et sur dîner ils sont là simplement réinitialisés les menus.

Je vous mets le classeur, et je vous remercie de votre aide.
 

Pièces jointes

  • Classeur1.xlsm
    36.4 KB · Affichages: 25

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @dubarre , le Forum

Tiens tu n'es plus dans les artistes mais dans la restauration maintenant...
C'est "marrant" avec toi tu ne peux pas t'empécher d'avoir des structures de tableaux "bordéliques"

Je t'ai fait un algo qui fait ce que tu souhaites, mais la plage nommée "Elements" est à peaufiner car sinon il va reporter les catégories "viande" puis "beuf" aussi et en plus de "Rumsteack" par exemple dans ta liste de course... C'est parceque c'est en vrac dans ton tableau...

Je te laisse mettre en place ton tableau correctement car même les listes de validation ne sont pas juste...

Mais tu as ce qu'il faut pour la liste de course...

VB:
Option Explicit

Sub ListDeCourse()
Dim Ws As Worksheet, WsList As Worksheet
Dim RngPlage As Range, CellPlage As Range
Dim ColElements As Collection, Item As Variant
Dim L As Integer

Set Ws = ThisWorkbook.Worksheets("Menu")
Set WsList = ThisWorkbook.Worksheets("Listes_course")

Set RngPlage = Ws.Range("Elements") '<<<<< Plage Nommée sur tableau Menu à peaufiner car là c'est le bordel !!!

Set ColElements = New Collection
For Each CellPlage In RngPlage
    On Error Resume Next
        ColElements.Add CellPlage.Value, CellPlage.Value
    On Error GoTo 0
Next CellPlage

For Each Item In ColElements
L = WsList.Range("A500").End(xlUp).Row + 1
    WsList.Range("A" & L) = Item
        For Each CellPlage In RngPlage
            If Item = CellPlage.Value Then
                WsList.Range("B" & L) = WsList.Range("B" & L) + 1
            End If
        Next CellPlage
Next Item
End Sub

Bien à toi, à vous
@+Thierry
 

Pièces jointes

  • XLD_Dubarre_Gestion_Menu_Liste_de_Course_v00.xlsm
    40 KB · Affichages: 51

dubarre

XLDnaute Occasionnel
Bonjour merci pour ton aide oui c'est vrai que je ne suis pas très ordonné j'avoue après pour ce classeur sans me chercher d'excuses c'était en brouillon car je ne savais vraiment pas par où et comment cela fonctionnerait.

Et non je n'ai pas abandonné gestion artiste je suis en train de le fignoler mais pour me changer les idées j'essaie de faire cette chose-là pour en même temps le bien-être de mon corps conseillé par mon médecin lol bonne soirée à vous.
 

Discussions similaires

Réponses
8
Affichages
341

Statistiques des forums

Discussions
314 629
Messages
2 111 351
Membres
111 111
dernier inscrit
houndemint