Code nom légume ne se remplit pas correctement
Fermémariam-j Messages postés 1391 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 20 décembre 2024 - 24 nov. 2023 à 14:36
- Code nom légume ne se remplit pas correctement
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Nom sonnerie iphone - Forum iPhone
7 réponses
24 nov. 2023 à 13:05
L'IA qui aime les défis, est là !
Il semble qu'il y ait une erreur dans la logique de votre code VB/VBA qui attribue les codes aux légumes. Avez-vous vérifié si le bon code est associé aux Asperges ? Si ce n'est pas le cas, assurez-vous d'associer "Asperges" à "LSV01" dans votre base de données ou votre tableau de correspondance. Si le problème persiste, il peut être utile de revoir l'ensemble du code pour identifier une possible erreur de logique ou de syntaxe. Il sera plus facile d'identifier l'origine du problème en ayant accès à votre code VBA. Malheureusement, le lien que vous avez fourni ne fonctionne pas, pouvez-vous reposter le code ici ou décrire plus précisément la partie de votre code qui gère cette fonctionnalité ?
24 nov. 2023 à 13:13
Bonjour,
Quand je clique sur le lien de mon message, le fichier s'ouvre bien.
Je vous l'envoie de nouveau. Je pense que les instructions concernées sont dans la procédure tbDateMenu_Change, select case jour semaine, case 5 puisqu'il s'agit d'un légume du vendredi.
https://www.cjoint.com/c/MKymjXb00Qs
Modifié le 24 nov. 2023 à 13:25
C'est BoBot (l'IA de CCM) qui t'a répondu, ce qu'il souhaite c'est du code pas un fichier, voir les-balises-de-code.
Modifié le 24 nov. 2023 à 13:46
C'est idiot. C'est plus logique de joindre un fichier complet que du code, enfin c'est mon avis.
Option Explicit Private Sub cmdRetourFeuilleAccueil_Click() 'Va fermer le formulaire et retourner sur la feuille Accueil. Unload Me End Sub Private Sub UserForm_Activate() tbDateMenu.Left = 488 'Initialisation de la Zone de liste modifiable cbNomNatureCréationMenu. cbNomNatureCréationMenu.List = Range("TabNatureCréation").Value 'Appel de la procédure MasquerLégumeDeux. Call MasquerLégumeDeux End Sub Private Sub MasquerLégumeDeux() 'Va masquer Les Intitulés (lb), les Zones de liste modifiable (cb) et les Zones de texte (tb) concernant Légume deux dès l'ouverture du formulaire. lbNomLégumeDeux.Visible = False cbNomLégumeDeux.Visible = False tbCodeNomLégumeDeux.Visible = False lbNomPériodelégumeDeux.Visible = False cbNomPériodeLégumeDeux.Visible = False tbCodeNomPériodeLégumeDeux.Visible = False lbNomConditionnementLégumeDeux.Visible = False cbNomConditionnementLégumeDeux.Visible = False tbCodeNomConditionnementLégumeDeux.Visible = False lbQuantitéLégumeDeux.Visible = False tbQuantitéLégumeDeux.Visible = False End Sub Private Sub tbDateMenu_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 'Va afficher le calendrier pour choisir la date du menu. tbDateMenu = Format(Calendrier.Choix(tbDateMenu), "d mmmm yyyy") Call MiseÀJourTitre End Sub Private Sub cbNomNatureCréationMenu_Change() If cbNomNatureCréationMenu.ListIndex = -1 Then 'Nom nature création menu invalide, on efface la Zone de liste modifiable (cb) et la Zone de texte (tb). tbCodeNomNatureCréationMenu.Value = Empty cbNomNatureCréationMenu.Value = Empty Else 'Nom nature création menu valide, on affiche le code nom nature création menu. tbCodeNomNatureCréationMenu.Value = cbNomNatureCréationMenu.Column(1) End If 'Appel de la procédure Mise à jour Titre qui modifiera la caption de l'Intitulé lbTitre. Call MiseÀJourTitre 'Période viande : à l'ouverture du programme, c'est le True (Vrai) qui s'exécute; quand on choisit menu viande midi weekend dans la Zone de liste modifiable cnNomNatureCréa 'tionMenu, c'est la False (Faux) qui alors s'exécute. If cbNomNatureCréationMenu.Value = "Menu viande midi weekend" Then 'lbNomPériodeViandeMidiWeekend.Visible = False 'tbNomPériodeViandeMidiWeekend.Visible = False Call MasquerLégume Call MasquerDessert Else 'lbNomPériodeViandeMidiWeekend.Visible = True 'tbNomPériodeViandeMidiWeekend.Visible = True Call AfficherLégume Call AfficherDessert End If 'Si la Zone de texte tbDayeMenu est différente de vide, alors appel de la procédure tbDateMenu_Change If tbDateMenu.Value <> "" Then Call tbDateMenu_Change End Sub Sub MiseÀJourTitre() 'Modifie la caption de l'Intitulé lbTitre (anciennement ModificationLibellés) en ajoutant le contenu de la Zone de liste modifiable cbNomNatureCréationMenu et le contenu de la 'Zone de texte tbDateMenu. Me.lbTitre = "Création " & LCase(cbNomNatureCréationMenu) & " du " & LCase(tbDateMenu.Value) & "." End Sub Private Sub MasquerLégume() 'Va masquer les Intitulés (lb), les Zones de liste modifiable (cb) et les Zones de texte (tb) quand la Zone de liste modifiable cbMenuViandeMidiWeekend est actif. lbNomLégume.Visible = False cbNomLégume.Visible = False tbCodeNomLégume.Visible = False lbNomPériodelégume.Visible = False cbNomPériodeLégume.Visible = False tbCodeNomPériodeLégume.Visible = False lbNomConditionnementLégume.Visible = False cbNomConditionnementLégume.Visible = False tbCodeNomConditionnementLégume.Visible = False lbQuantitéLégume.Visible = False tbQuantitéLégume.Visible = False End Sub Private Sub MasquerDessert() 'Va masquer les Intitulés (lb), les Zones de liste modifiable (cb) et les Zones de texte (tb) quand la Zone de liste modifiable cbMenuViandeMidiWeekend est actif. lbNomDessert.Visible = False cbNomDessert.Visible = False tbCodeNomDessert.Visible = False lbNomPériodeDessert.Visible = False cbNomPériodeDessert.Visible = False tbCodeNomPériodeDessert.Visible = False lbNomConditionnementDessert.Visible = False cbNomConditionnementDessert.Visible = False tbCodeNomConditionnementDessert.Visible = False lbQuantitéDessert.Visible = False tbQuantitéDessert.Visible = False End Sub Private Sub AfficherLégume() 'Va affichquer les Intitulés (lb), les Zones de liste modifiable (cb) et les Zones de texte (tb) quand la Zone de liste modifiable cbMenuViandeMidiWeekend est inactif. lbNomLégume.Visible = True cbNomLégume.Visible = True tbCodeNomLégume.Visible = True lbNomPériodelégume.Visible = True cbNomPériodeLégume.Visible = True tbCodeNomPériodeLégume.Visible = True lbNomConditionnementLégume.Visible = True cbNomConditionnementLégume.Visible = True tbCodeNomConditionnementLégume.Visible = True lbQuantitéLégume.Visible = True tbQuantitéLégume.Visible = True End Sub Private Sub AfficherDessert() 'Va afficher les Intitulés (lb), les Zones de liste modifiable (cb) et les Zones de texte (tb) quand la Zone de liste modifiable cbMenuViandeMidiWeekend est inactif. lbNomDessert.Visible = True cbNomDessert.Visible = True tbCodeNomDessert.Visible = True lbNomPériodeDessert.Visible = True cbNomPériodeDessert.Visible = True tbCodeNomPériodeDessert.Visible = True lbNomConditionnementDessert.Visible = True cbNomConditionnementDessert.Visible = True tbCodeNomConditionnementDessert.Visible = True lbQuantitéDessert.Visible = True tbQuantitéDessert.Visible = True End Sub Private Sub AfficherLégumeDeux() 'Va afficher Les Intitulés (lb), les Zones de liste modifiable (cb) et les Zones de texte (tb) quand la Zone de liste modifiable cbMenuViandeMidiWeekend est inactif.. lbNomLégumeDeux.Visible = True cbNomLégumeDeux.Visible = True tbCodeNomLégumeDeux.Visible = True lbNomPériodelégumeDeux.Visible = True cbNomPériodeLégumeDeux.Visible = True tbCodeNomPériodeLégumeDeux.Visible = True lbNomConditionnementLégumeDeux.Visible = True cbNomConditionnementLégumeDeux.Visible = True tbCodeNomConditionnementLégumeDeux.Visible = True lbQuantitéLégumeDeux.Visible = True tbQuantitéLégumeDeux.Visible = True End Sub Private Sub tbDateMenu_Change() Dim J As Integer, JourSemaine As Integer 'Effacement préalable des Zones de liste modifiable. cbNomLégume.Clear cbNomLégumeDeux.Clear cbNomViande.Clear cbNomDessert.Clear 'Si verification Date menu NOk, on ne fait rien (on sort de la procédure). If VérifDateMenu = False Then Exit Sub 'Vérification jour férié. 'On error Résume Next : lorsqu'une erreur survient, le contrôle est transmis à l'instruction qui suit immédiatement celle où l'erreur s'est produite, et l'exécution continue. Il 'est recommandé d'utiliser cette formulation plutôt que l'instruction On Error GoTo pour accéder à des objets. On Error Resume Next 'WorksheetFunction.Match : renvoie la position relative d'un élément dans une matrice (matrice : permet de créer des formules uniques permettant d'obtenir plusieurs résul 'tats et qui agissent sur un groupe d'arguments répartis dans des lignes et des colonnes. Une plage matricielle partage une même formule tandis qu'une constante matri- 'cielle est un groupe de constantes qui sert d'argument), qui correspond à une valeur spécifiée dans un ordre spécifié. Utilisez la fonction Match au lieu de l'une des fonc- 'tions LookUp lorsque vous avez besoin de la position d'un élément dans une plage au lieu de l'élément proprement dit. J = WorksheetFunction.Match(CLng(DateValue(tbDateMenu.Value)), Range("TabJoursFériés[Date jour férié]"), 0) 'On Error GoTo : valide la routine de gestion d'erreur commençant à la ligne indiquée dans l'argument Line. L'argument Line peut être une étiquette de ligne ou un numéro 'de ligne. En cas d'erreur d'exécution, le contrôle est transmis au point indiqué dans l'argument Line, ce qui valide le gestionnaire d'erreurs. La ligne indiquée dans l'argu- 'ment Line doit se trouver dans la même procédure que l'instruction On Error, sinon une erreur se produit au moment de la compilation. On Error GoTo 0 If J <> 0 Then tbNomJourFérié.Value = Range("TabJoursFériés[Nom jour férié]").Item(J) Else tbNomJourFérié.Value = "" End If JourSemaine = Weekday(tbDateMenu.Value, vbMonday) 'Select Case exécute un des blocs d'instructions indiqués, selon la valeur d'une expression. Selon la valeur de la Zone de liste modifiable cbNomNatureCréationMenu et 'selon la valeur de la Case, va effectuer les affichages demandés. Select Case cbNomNatureCréationMenu.Value Case Is = "Menu midi retraite" 'Du lundi au vendredi inclus, si le jour de la semaine est inférieur ou égal à cinq, alors il va remplir les Zones de liste modifiable cbNomLégume, cbNomViande, 'cbNomDessert correspondant à Menu midi retraite. If JourSemaine <= 5 Then cbNomLégume.List = Range("TabLégumesMidiRetraite").Value cbNomViande.List = Range("TabViandesMidiRetraite").Value cbNomDessert.List = Range("TabDessertMidiRetraite").Value End If Case Is = "Menu journalier" 'Viande toute la semaine, dessert cas le plus fréquent. cbNomViande.List = Range("TabViandesSoirs").Value cbNomDessert.List = Range("TabDessertSoir").Value 'Particularités légumes et desserts selon jour de la semaine. 'Select Case exécute un des blocs d'instructions indiqués, selon la valeur d'une expression. Selon 'la valeur de JourSemaine, va effectuer les affichages demandés. Select Case JourSemaine 'Lundi et mardi. Case 1, 2 cbNomLégume.List = Range("TabLégumesSoirsLundiMardi").Value 'Mercredi et jeudi. Case 3, 4 cbNomLégume.List = Range("TabLégumesSoirsMercrediJeudi").Value 'Vendredi. Case 5 cbNomLégume.List = Range("TabLégumesSoirsVendredi").Value 'Samedi. Case 6 cbNomLégume.List = Range("TabLégumesweekendSamedi").Value cbNomDessert.List = Range("TabDessertsWeekend").Value 'Dimanche. Case 7 cbNomLégume.List = Range("TabLégumesweekendDimanche").Value cbNomDessert.List = Range("TabDessertsWeekend").Value End Select Case Is = "Menu viande midi weekend" cbNomViande.List = Range("TabViandesMidiWeekend").Value End Select 'Données menu. Call RécupérationMenu tbJour = Format(tbDateMenu, "dddd") tbDateMenu.Left = 555 End Sub Private Function VérifDateMenu() As Boolean VérifDateMenu = True 'Select Case exécute un des blocs d'instructions indiqués, selon la valeur d'une expression. Selon la valeur de la Zone de liste modifiable cbNomNatureCréationMenu et selon 'la valeur de la Case, va afficher le MsgBox concerné si le jour de la semaine est supérieur ou égal à six (Menu midi retraite) ou si le jour de la semaine est inférieur à six (me- 'nu viande midi weekend). Select Case cbNomNatureCréationMenu.Value Case Is = "Menu midi retraite" If Weekday(tbDateMenu.Value, vbMonday) >= 6 Then MsgBox "Menu midi retraite : saisir une date du lundi au vendredi inclus !", vbExclamation End If Case Is = "Menu viande midi weekend" If Weekday(tbDateMenu.Value, vbMonday) < 6 Then MsgBox "Menu viande midi weekend : saisir une date du samedi au dimanche inclus !", vbExclamation VérifDateMenu = False End If End Select End Function Private Sub RécupérationMenu() Dim I As Long 'Recherche existence menu. I = IndiceMenu(cbNomNatureCréationMenu.Value, DateValue(tbDateMenu.Value)) If I > 0 Then 'Menu existant dans la feuille BD menu, tableau structuré TabBDMenus : récupération infos menu. MsgBox "Le menu " & cbNomNatureCréationMenu & " du " & Format(tbDateMenu, "dddd d mmmm yyyy") & " exite déjà dans la feuille BD menus, tableau structuré tabBDMenus. " & vbCrLf & vbCrLf & "Vous pouvez le modifier ou le supprimer.", vbExclamation Call RécupérationInfosMenu(I) Else 'Menu inexistant dans la feuille BD menus, tableau structuré TabBDMenus : réinitialisation des données du formulaire. cbNomLégume.Value = "" cbNomLégumeDeux.Value = "" cbNomViande.Value = "" cbNomDessert.Value = "" tbQuantitéLégume.Value = "" tbQuantitéViande.Value = "" tbQuantitéDessert.Value = "" 'Prédéfinition des valeurs. 'WorksheetFunction.CountIfs : compte le nombre de cellules à l'intérieur d'une plage qui répondent à plusieurs critères. tbNuméroCréationMenu.Value = tbCodeNomNatureCréationMenu.Value & "-" & Format(WorksheetFunction.CountIfs(Range("TabBDMenus[Code Nom Nature Création Menu]"), tbCodeNomNatureCréationMenu.Value) + 1, "00") tbDateCréationMenu.Value = Format(Date, "dddd d mmmm yyyy") tbNomMoisMenu.Value = Format(DateValue(tbDateMenu.Value), "mmmm yyyy") Call PrédéfinitionsSpécifiques End If End Sub Private Function IndiceMenu(ByVal NomNatureCréationMenu As String, ByVal DateMenu As Date) As Long Dim I As Long 'Renvoie l'indice du menu de la feuille BD menus, tableau structuré TabBDMenus, pour le code menu défini si le menu existe. Renvoie zéro si le menu n'existe pas. IndiceMenu = 0 For I = 1 To Range("TabBDMenus").ListObject.ListRows.Count If Range("TabBDMenus[Nom nature création menu]").Item(I) = NomNatureCréationMenu And Range("TabBDMenus[Date menu]").Item(I) = DateMenu Then IndiceMenu = I Exit Function End If Next I End Function Private Sub RécupérationInfosMenu(ByVal Indice As Long) With [TabBDMenus].ListObject 'Va remplir les Zones de liste modifiable (cb) et les Zones de texte (tb) en allant chercher les informations dans la feuille BD menus, tableau structuré BDMenus. 'DataBodyRange : cette propriété renvoie un objet Range qui représente la plage de valeurs, à l'exception de la ligne d'en-tête, dans un tableau structuré. Type de données 'en lecture seule. cbNomLégume.Value = .ListColumns("Nom légume").DataBodyRange(Indice) tbCodeNomLégume.Value = .ListColumns("Code nom légume").DataBodyRange(Indice) cbNomPériodeLégume.Value = .ListColumns("Nom période légume").DataBodyRange(Indice) tbCodeNomPériodeLégume.Value = .ListColumns("Code nom période légume").DataBodyRange(Indice) cbNomConditionnementLégume.Value = .ListColumns("Nom conditionnement légume").DataBodyRange(Indice) tbCodeNomConditionnementLégume.Value = .ListColumns("Code nom conditionnement légume").DataBodyRange(Indice) cbNomLégumeDeux.Value = .ListColumns("Nom légume deux").DataBodyRange(Indice) tbCodeNomLégumeDeux.Value = .ListColumns("Code nom légume deux").DataBodyRange(Indice) cbNomPériodeLégumeDeux.Value = .ListColumns("Nom période légume deux").DataBodyRange(Indice) tbCodeNomPériodeLégumeDeux.Value = .ListColumns("Code nom période légume deux").DataBodyRange(Indice) cbNomConditionnementLégumeDeux.Value = .ListColumns("Nom conditionnement légume deux").DataBodyRange(Indice) tbCodeNomConditionnementLégumeDeux.Value = .ListColumns("Code nom conditionnement légume deux").DataBodyRange(Indice) 'Replace : renvoie une chaîne dans laquelle une sous-chaîne spécifiée a été remplacée plusieurs fois par une autre sous-chaîne. tbQuantitéLégume.Value = Replace(Format(.ListColumns("Quantité légume").DataBodyRange(Indice), "# ##0.00"), ",", ",") 'Replace : renvoie une chaîne dans laquelle une sous-chaîne spécifiée a été remplacée plusieurs fois par une autre sous-chaîne. tbQuantitéLégumeDeux.Value = Replace(Format(.ListColumns("Quantité légume deux").DataBodyRange(Indice), "# ##0.00"), ",", ",") cbNomViande.Value = .ListColumns("Nom viande").DataBodyRange(Indice) tbCodeNomViande.Value = .ListColumns("Code nom viande").DataBodyRange(Indice) cbNomPériodeViande.Value = .ListColumns("Nom période viande").DataBodyRange(Indice) tbCodeNomPériodeViande.Value = .ListColumns("Code nom période viande").DataBodyRange(Indice) cbNomConditionnementViande.Value = .ListColumns("Nom conditionnement viande").DataBodyRange(Indice) tbCodeNomConditionnementViande.Value = .ListColumns("Code nom conditionnement viande").DataBodyRange(Indice) tbNomPériodeViandeMidiWeekend.Value = .ListColumns("Nom période viande midi weekend").DataBodyRange(Indice) 'Replace : renvoie une chaîne dans laquelle une sous-chaîne spécifiée a été remplacée plusieurs fois par une autre sous-chaîne. tbQuantitéViande.Value = Replace(Format(.ListColumns("Quantité viande").DataBodyRange(Indice), "# ##0.00"), ",", ",") cbNomDessert.Value = .ListColumns("Nom dessert").DataBodyRange(Indice) tbCodeNomDessert.Value = .ListColumns("Code nom dessert").DataBodyRange(Indice) cbNomPériodeDessert.Value = .ListColumns("Nom période dessert").DataBodyRange(Indice) tbCodeNomPériodeDessert.Value = .ListColumns("Code nom période dessert").DataBodyRange(Indice) cbNomConditionnementDessert.Value = .ListColumns("Nom conditionnement dessert").DataBodyRange(Indice) tbCodeNomConditionnementDessert.Value = .ListColumns("Code nom conditionnement dessert").DataBodyRange(Indice) 'Replace : renvoie une chaîne dans laquelle une sous-chaîne spécifiée a été remplacée plusieurs fois par une autre sous-chaîne. tbQuantitéDessert.Value = Replace(Format(.ListColumns("Quantité dessert").DataBodyRange(Indice), "# ##0.00"), ",", ",") tbNuméroCréationMenu.Value = .ListColumns("Numéro création menu").DataBodyRange(Indice) tbDateCréationMenu.Value = .ListColumns("Date création menu").DataBodyRange(Indice) tbNomMoisMenu.Value = .ListColumns("Nom mois menu").DataBodyRange(Indice) End With End Sub Private Sub PrédéfinitionsSpécifiques() Dim I As Long, LigMoins1 As Long, LigMoins2 As Long 'Select Case exécute un des blocs d'instructions indiqués, selon la valeur d'une expression. Selon la valeur de la Zone de liste modifiable cbNomNatureCréationMenu et selon 'valeur de la Case, va exécuter les instructions qui suivent la case. Select Case cbNomNatureCréationMenu.Value Case Is = "Menu midi retraite" 'Légumes spécifiques Maïs et Radis : deux jours ouvrés de suite. 'WorksheetFunction.WorkDay renvoie un nombre représentant une date qui est le nombre de jours ouvrés indiqué avant ou après une date (date de début). Les jours ou- 'vrés excluent les weekends et les jours de congès. Utilisez la Fonction WorkDay pour exclure les weekends et les jours de congés lorsque vous calculez les dates 'd'échéance des factures, les heures de livraison attendues ou le nombre de jours effectués. LigMoins1 = IndiceMenu(cbNomNatureCréationMenu.Value, WorksheetFunction.WorkDay(DateValue(tbDateMenu.Value), -1)) If LigMoins1 > 0 Then If Range("TabBDMenus[Nom légume]").Item(LigMoins1) = "Maïs" Or Range("TabBDMenus[Nom légume]").Item(LigMoins1) = "Radis" Then LigMoins2 = IndiceMenu(cbNomNatureCréationMenu.Value, WorksheetFunction.WorkDay(DateValue(tbDateMenu.Value), -2)) If LigMoins2 = 0 Or Range("TabBDMenus[Nom légume]").Item(LigMoins2) <> Range("TabBDMenus[Nom légume]").Item(LigMoins1) Then cbNomLégume.Value = Range("TabBDMenus[Nom légume]").Item(LigMoins1) End If End If End If 'Viandes mardi à vendredi identiques à viande lundi précédent. If Weekday(DateValue(tbDateMenu.Value), vbMonday) >= 2 And Weekday(DateValue(tbDateMenu), vbMonday) <= 5 Then I = IndiceMenu(cbNomNatureCréationMenu.Value, DateValue(tbDateMenu.Value) - Weekday(DateValue(tbDateMenu.Value), vbMonday) + 1) If I > 0 Then cbNomViande.Value = Range("TabBDMenus[Nom viande]").Item(I) End If 'Dessert unique toute la semaine. cbNomDessert.Value = "Pomme" Case Is = "Menu journalier" 'Légume mardi identique au légume lundi ou légume jeudi identique au légume mercredi. If Weekday(DateValue(tbDateMenu), vbMonday) = 2 Or Weekday(DateValue(tbDateMenu.Value), vbMonday) = 4 Then I = IndiceMenu(cbNomNatureCréationMenu.Value, DateValue(tbDateMenu.Value) - 1) If I > 0 Then cbNomLégume.Value = Range("TabBDMenus[Nom légume]").Item(I) If I > 0 Then tbQuantitéLégume.Value = Range("TabBDMenus[Quantité légume]").Item(I) End If 'Dessert unique en semaine. If Weekday(DateValue(tbDateMenu.Value), vbMonday) <= 5 Then cbNomDessert.Value = "Pomme" 'tbCodeNomDessert.Value = "DS01" 'cbNomPériodeDessert.Value = "Lundi à vendredi soirs" 'tbCodeNomPériodeDessert.Value = "PAM06" End If 'Dessert dimanche identique au dessert samedi. If Weekday(DateValue(tbDateMenu.Value), vbMonday) = 7 Then I = IndiceMenu(cbNomNatureCréationMenu.Value, DateValue(tbDateMenu.Value) = -1) If I > 0 Then cbNomDessert.Value = Range("TabBDMenus[Nom dessert]").Item(I) If 1 > 0 Then tbQuantitéDessert.Value = Range("TabBDMenus[Quantité dessert]").Item(I) End If Case Is = "Menu viande midi weekend" 'Période viande midi weekend. If Month(DateValue(tbDateMenu.Value)) <= 6 Then tbNomPériodeViandeMidiWeekend.Value = "Premier semestre" Else tbNomPériodeViandeMidiWeekend.Value = "Deuxième semestre" End If End Select End Sub Private Sub cbNomLégume_Change() Dim I As Long 'Ne pas supprimer : utile pour la création d'un nouveau menu. 'Recherche existence article dans la feuille BD articles menus, tableau structuré TabBDArticlesMenus afin de remplir la Zone de texte tbCodeNomLégume, la zone de liste mo- 'difiable cbNomPériodeLégume, la Zone de texte tbCodeNomPériodeLégume, la Zone de liste modifiable cbNomConditionnementLégume, la Zone de texte tbCodeNomCondi- 'tionnementLégume. I = IndiceArticle(cbNomLégume) If I > 0 Then 'Article existant : récupération des données dans la feuille BD articles menus, tableau structuré TabBDArticlesMenus. tbCodeNomLégume.Value = Range("TabBDArticlesMenus[Code nom articles menus]").Item(I) cbNomPériodeLégume.Value = Range("TabBDArticlesMenus[Nom période articles menus]").Item(I) tbCodeNomPériodeLégume.Value = Range("TabBDArticlesmenus[Code nom période articles menus]").Item(I) cbNomConditionnementLégume.Value = Range("TabBDArticlesMenus[nom conditionnement articles menus]").Item(I) tbCodeNomConditionnementLégume.Value = Range("TabBDArticlesMenus[Code nom conditionnement articles menus]").Item(I) tbQuantitéLégume.Value = Range("TabBDArticlesMenus[Quantité pour un repas]").Item(I) Else 'Article inexistant : effacement des données. tbCodeNomLégume.Value = "" cbNomPériodeLégume.Value = "" tbCodeNomPériodeLégume.Value = "" cbNomConditionnementLégume.Value = "" tbCodeNomConditionnementLégume.Value = "" tbQuantitéLégume.Value = "" End If 'Cas particulier Légume deux. If cbNomLégume.Value = "Frites" Then Call AfficherLégumeDeux 'Le code avant le nom est utile pour savoir trouver la bonne ligne du dimanche soir. tbCodeNomLégumeDeux.Value = "LWD013" cbNomLégumeDeux.Value = "Asperges" Else cbNomLégumeDeux.Value = "" Call MasquerLégumeDeux End If 'Cas particulier légume-viande combinés lundi mardi soirs. 'Select Case exécute un des blocs d'instructions indiqués, selon la valeur d'une expression. Selon la valeur de la Zone de liste modifiable cbNomLégume et du nm de la case, 'va remplir la zone de liste modifiable cbNomViande de son nom de viande adéquat. Select Case cbNomLégume.Value Case Is = "Cassoulet" cbNomViande.Value = "Viande cassoulet" Case Is = "Choucroute" cbNomViande.Value = "Viande choucroute" Case Is = "Paella" cbNomViande.Value = "Viande paella" End Select End Sub Private Sub cbNomLégumeDeux_Change() Dim I As Long 'Ne pas supprimer : utile pour la création d'un nouveau menu. 'Recherche existence article dans la feuille BD articles menus, tableau structuré TabBDArticlesMenus afin de remplir la Zone de texte tbCodeNomLégumeDeux, la zone de 'liste modifiable cbNomPériodeLégumeDeux, la Zone de texte tbCodeNomPériodeLégumeDeux, la Zone de liste modifiable cbNomConditionnementLégumeDeux, la Zone de 'texte tbCodeNomCondi-tionnementLégumeDeux. I = IndiceArticle(cbNomLégumeDeux) If I > 0 Then 'Article existant : récupération des données dans la feuille BD articles menus, tableau structuré TabBDArticlesMenus. tbCodeNomLégumeDeux.Value = Range("TabBDArticlesMenus[Code nom articles menus]").Item(I) cbNomPériodeLégumeDeux.Value = Range("TabBDArticlesMenus[Nom période articles menus]").Item(I) tbCodeNomPériodeLégumeDeux.Value = Range("TabBDArticlesmenus[Code nom période articles menus]").Item(I) cbNomConditionnementLégumeDeux.Value = Range("TabBDArticlesMenus[nom conditionnement articles menus]").Item(I) tbCodeNomConditionnementLégumeDeux.Value = Range("TabBDArticlesMenus[Code nom conditionnement articles menus]").Item(I) tbQuantitéLégumeDeux.Value = Range("TabBDArticlesMenus[Quantité pour un repas]").Item(I) Else 'Article inexistant : effacement des données. tbCodeNomLégumeDeux.Value = "" cbNomPériodeLégumeDeux.Value = "" tbCodeNomPériodeLégumeDeux.Value = "" cbNomConditionnementLégumeDeux.Value = "" tbCodeNomConditionnementLégumeDeux.Value = "" tbQuantitéLégumeDeux.Value = "" End If End Sub Private Sub cbNomViande_Change() Dim I As Long 'Ne pas supprimer : utile pour la création d'un nouveau menu. 'Recherche existence article dans la feuille BD articles menus, tableau structuré TabBDArticlesMenus afin de remplir la Zone de texte tbCodeNomViande, la zone de liste mo- 'difiable cbNomPériodeViande, la Zone de texte tbCodeNomPériodeViande, la Zone de liste modifiable cbNomConditionnementViande, la Zone de texte tbCodeNomCondition- 'nementViande. I = IndiceArticle(cbNomViande) If I > 0 Then 'Article existant : récupération des données dans la feuille BD articles menus, tableau structuré TabBDArticlesMenus. tbCodeNomViande.Value = Range("TabBDArticlesMenus[Code nom articles menus]").Item(I) cbNomPériodeViande.Value = Range("TabBDArticlesMenus[Nom période articles menus]").Item(I) tbCodeNomPériodeViande.Value = Range("TabBDArticlesmenus[Code nom période articles menus]").Item(I) cbNomConditionnementViande.Value = Range("TabBDArticlesMenus[nom conditionnement articles menus]").Item(I) tbCodeNomConditionnementViande.Value = Range("TabBDArticlesMenus[Code nom conditionnement articles menus]").Item(I) tbQuantitéViande.Value = Range("TabBDArticlesMenus[Quantité pour un repas]").Item(I) Else 'Article inexistant : effacement des données. tbCodeNomViande.Value = "" cbNomPériodeViande.Value = "" tbCodeNomPériodeViande.Value = "" cbNomConditionnementViande.Value = "" tbCodeNomConditionnementViande.Value = "" tbQuantitéViande.Value = "" End If End Sub Private Sub cbNomDessert_Change() Dim I As Long 'Ne pas supprimer : utile pour la création d'un nouveau menu. 'Recherche existence article dans la feuille BD articles menus, tableau structuré TabBDArticlesMenus afin de remplir la Zone de texte tbCodeNomDessert, la zone de liste mo- 'difiable cbNomPériodeDessert, la Zone de texte tbCodeNomPériodeDessert, la Zone de liste modifiable cbNomConditionnementDessert, la Zone de texte tbCodeNomCondi- 'tionnementDessert. I = IndiceArticle(cbNomDessert) If I > 0 Then 'Article existant : récupération des données dans la feuille BD articles menus, tableau structuré TabBDArticlesMenus. tbCodeNomDessert.Value = Range("TabBDArticlesMenus[Code nom articles menus]").Item(I) cbNomPériodeDessert.Value = Range("TabBDArticlesMenus[Nom période articles menus]").Item(I) tbCodeNomPériodeDessert.Value = Range("TabBDArticlesmenus[Code nom période articles menus]").Item(I) cbNomConditionnementDessert.Value = Range("TabBDArticlesMenus[nom conditionnement articles menus]").Item(I) tbCodeNomConditionnementDessert.Value = Range("TabBDArticlesMenus[Code nom conditionnement articles menus]").Item(I) tbQuantitéDessert.Value = Range("TabBDArticlesMenus[Quantité pour un repas]").Item(I) Else 'Article inexistant : effacement des données. tbCodeNomDessert.Value = "" cbNomPériodeDessert.Value = "" tbCodeNomPériodeDessert.Value = "" cbNomConditionnementDessert.Value = "" tbCodeNomConditionnementDessert.Value = "" tbQuantitéDessert.Value = "" End If End Sub Private Function IndiceArticle(ByVal NomArticle As String) As Long Dim Coderecherche As String, Chiff As Byte, Formule As String If NomArticle = cbNomLégumeDeux.Value Then Coderecherche = tbCodeNomLégumeDeux.Value For Chiff = 0 To 9 Coderecherche = Replace(Coderecherche, Chiff, "") Next Chiff IndiceArticle = MATCH2(Range("TabBDArticlesmenus[Code nom nature articles menus]"), Coderecherche, Range("TabBDArticlesMenus[Nom articles menus]"), NomArticle) Else 'Worksheetfunction.match : Renvoie la position relative d'un élément dans une matrice (matrice : permet de créer des formules uniques permettant d’obtenir plusieurs résultats 'et qui agissent sur un groupe d’arguments répartis dans des lignes et des colonnes. Une plage matricielle partage une même formule tandis qu’une constante matricielle est 'un groupe de constantes qui sert d’argument.), qui correspond à une valeur spécifiée dans un ordre spécifié. Utilisez la fonction MATCH au lieu de l'une des fonctions 'LOOKUP lorsque vous avez besoin de la position d'un élément dans une plage au lieu de l'élément proprement dit. 'cbnomnaturecréationmenu. If cbNomNatureCréationMenu = "Menu journalier" And NomArticle = "Pomme" Then IndiceArticle = WorksheetFunction.Match("Dessert soir", Range("TabBDArticlesMenus[Nom nature articles menus]"), 0) ElseIf cbNomNatureCréationMenu = "Menu journalier" And NomArticle <> "Pomme" Then 'On Error GoTo line Valide la routine de gestion d'erreur commençant à la ligne indiquée dans l'argument line. L'argument line peut être une étiquette de ligne ou un numéro de 'ligne. En cas d'erreur d'exécution, le contrôle est transmis au point indiqué dans l'argument line, ce qui valide le gestionnaire d'erreurs. La ligne indiquée dans l'argument line 'doit se trouver dans la même procédure que l'instruction On Error ; sinon, une erreur se produit au moment de la compilation. On Error GoTo Gestion_Erreur RechercheSuivante1: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Dimanche midi""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante2: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Dimanche midi et soir""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante3: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Dimanche soir""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante4: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Lundi à dimanche soirs""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante5: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""lundi à vendredi midis""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante6: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Lundi à vendredi soirs""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante7: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Lundi et mardi soirs""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante8: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Mercredi et jeudi soirs""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante9: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Samedi et dimanche midis""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante10: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Samedi et dimanche midis et soirs""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante11: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Samedi midi et soir""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function RechercheSuivante12: Formule = "=MATCH(1,(TabBDArticlesMenus[Nom articles menus]=""" & NomArticle & """)*(TabBDArticlesMenus[Nom période articles menus]=""Vendredi soir""),0)" IndiceArticle = Application.Evaluate(Formule) If IndiceArticle > 0 Then Exit Function Else IndiceArticle = WorksheetFunction.Match(NomArticle, Range("TabBDArticlesMenus[Nom articles menus]"), 0) End If End If Exit Function Gestion_Erreur: 'Resume Next Si l'erreur s'est produite dans une procédure contenant le gestionnaire d'erreurs, l'exécution reprend à partir de l'instruction qui suit immédiatement celle qui a pro- 'voqué l'erreur. Si l'erreur s'est produite dans une procédure appelée, l'exécution reprend à l'instruction qui suit immédiatement la dernière instruction ayant appelé la procédure 'contenant la routine de gestion d'erreur (ou l'instruction On Error Resume Next). Resume Next End Function Function MATCH2(Plage1 As Range, Critère1, Plage2 As Range, Critère2) Dim T1, T2 As Variant, I As Long T1 = Plage1.Value T2 = Plage2.Value 'LBound : Renvoie une valeur de type Long contenant le plus petit indice disponible pour la dimension indiquée d'un tableau. UBound : Renvoie une valeur de type Long conte- 'nant le plus grand indice disponible pour la dimension indiquée d'un tableau. For I = LBound(T1) To UBound(T2) 'Like : Permet de comparer deux chaînes. If T1(I, 1) Like Critère1 And T2(I, 1) Like Critère2 Then MATCH2 = I Exit Function End If Next I End Function Private Sub tbQuantitéLégume_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'N'autoriser que la saisie des chiffres et d'une seule virgule. KeyAscii : c'est la référence Ascii qui caractérise le point et la virgule : 44 pour la virgule, 46 pour le point. Va permet 'tre de transformer le point en virgule lors de la saisie des chiffres du tbQuantitéLégume.Value. If KeyAscii = 46 Then KeyAscii = 44 'InStr : liste des chiffres autorisés. If InStr("1234567890,", Chr(KeyAscii)) = 0 Or (InStr(tbQuantitéLégume.Value, ",") <> 0 And Chr(KeyAscii) = ",") Then KeyAscii = 0 End If End Sub Private Sub tbQuantitéLégumeDeux_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'N'autoriser que la saisie des chiffres et d'une seule virgule. KeyAscii : c'est la référence Ascii qui caractérise le point et la virgule : 44 pour la virgule, 46 pour le point. Va permet 'tre de transformer le point en virgule lors de la saisie des chiffres du tbQuantitéLégumeDeux.Value. If KeyAscii = 46 Then KeyAscii = 44 'InStr : liste des chiffres autorisés. If InStr("1234567890,", Chr(KeyAscii)) = 0 Or (InStr(tbQuantitéLégumeDeux.Value, ",") <> 0 And Chr(KeyAscii) = ",") Then KeyAscii = 0 End If End Sub Private Sub tbQuantitéViande_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'N'autoriser que la saisie des chiffres et d'une seule virgule. KeyAscii : c'est la référence Ascii qui caractérise le point et la virgule : 44 pour la virgule, 46 pour le point. Va permet 'tre de transformer le point en virgule lors de la saisie des chiffres du tbQuantitéViande.Value. If KeyAscii = 46 Then KeyAscii = 44 'InStr : liste des chiffres autorisés. If InStr("1234567890,", Chr(KeyAscii)) = 0 Or (InStr(tbQuantitéViande.Value, ",") <> 0 And Chr(KeyAscii) = ",") Then KeyAscii = 0 End If End Sub Private Sub tbQuantitéDessert_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 'N'autoriser que la saisie des chiffres et d'une seule virgule. KeyAscii : c'est la référence Ascii qui caractérise le point et la virgule : 44 pour la virgule, 46 pour le point. Va permet 'tre de transformer le point en virgule lors de la saisie des chiffres du tbQuantitéDessert.Value. If KeyAscii = 46 Then KeyAscii = 44 'InStr : liste des chiffres autorisés. If InStr("1234567890,", Chr(KeyAscii)) = 0 Or (InStr(tbQuantitéDessert.Value, ",") <> 0 And Chr(KeyAscii) = ",") Then KeyAscii = 0 End If End Sub Private Sub cmdValidationCréationMenu_Click() Dim I As Long 'Si VérifDateMenu NOk, on ne fait rien et on quitte la procédure. If VérifDateMenu = False Then Exit Sub 'Recherche existence menu. I = IndiceMenu(cbNomNatureCréationMenu.Value, DateValue(tbDateMenu.Value)) If I = 0 Then 'Nouveau menu : dans la feuille BD menus, tableau structuré tabBDMenus, ajouter une ligne vide en fin de tableau. With Range("TabBDMenus").ListObject .ListRows.Add 'Dernière ligne du tableau. I = .ListRows.Count End With End If 'Insérer les données saisies dans le formulaire UF02_CréationMenus dans la feuille BD menus, tableau structuré TabBDMenus dans la dernière ligne nouvellement ajoutée. 'Première partie destination des données (TabBDMenus), deuxième partie (Source des donées : Zone de liste modifiable (cb) et Zones de texte (tb) avec des particularités 'pour les quantités. Range("TabBDMenus[Nom nature création menu]").Item(I) = cbNomNatureCréationMenu.Value Range("TabBDMenus[Code nom nature création menu]").Item(I) = tbCodeNomNatureCréationMenu.Value Range("TabBDMenus[Date menu]").Item(I) = DateValue(tbDateMenu.Value) Range("TabBDMenus[Date création menu]").Item(I) = tbDateCréationMenu.Value Range("TabBDMenus[Nom légume]").Item(I) = cbNomLégume.Value Range("TabBDMenus[Code nom légume]").Item(I) = tbCodeNomLégume.Value Range("TabBDMenus[Nom période légume]").Item(I) = cbNomPériodeLégume.Value Range("TabBDMenus[Code nom période légume]").Item(I) = tbCodeNomPériodeLégume.Value Range("TabBDMenus[Nom conditionnement légume]").Item(I) = cbNomConditionnementLégume.Value Range("TabBDMenus[Code nom conditionnement légume]").Item(I) = tbCodeNomConditionnementLégume.Value Range("TabBDMenus[Nom légume deux]").Item(I) = cbNomLégumeDeux.Value Range("TabBDMenus[Code nom légume deux]").Item(I) = tbCodeNomLégumeDeux.Value Range("TabBDMenus[Nom période légume deux]").Item(I) = cbNomPériodeLégumeDeux.Value Range("TabBDMenus[Code nom période légume deux]").Item(I) = tbCodeNomPériodeLégumeDeux.Value Range("TabBDMenus[Nom conditionnement légume deux]").Item(I) = cbNomConditionnementLégumeDeux.Value Range("TabBDMenus[Code nom conditionnement légume deux]").Item(I) = tbCodeNomConditionnementLégumeDeux.Value If tbQuantitéLégume <> "" Then Range("TabBDMenus[Quantité légume]").Item(I) = CDbl(tbQuantitéLégume.Value) End If If tbQuantitéLégumeDeux <> "" Then Range("TabBDMenus[Quantité légume deux]").Item(I) = CDbl(tbQuantitéLégumeDeux.Value) End If Range("TabBDMenus[Nom viande]").Item(I) = cbNomViande.Value Range("TabBDMenus[Code nom viande]").Item(I) = tbCodeNomViande.Value Range("TabBDMenus[Nom période viande]").Item(I) = cbNomPériodeViande.Value Range("TabBDMenus[Code nom période viande]").Item(I) = tbCodeNomPériodeViande.Value Range("TabBDMenus[Nom conditionnement viande]").Item(I) = cbNomConditionnementViande.Value Range("TabBDMenus[Code nom conditionnement viande]").Item(I) = tbCodeNomConditionnementViande.Value Range("TabBDMenus[Nom période viande midi weekend]").Item(I) = tbNomPériodeViandeMidiWeekend.Value If tbQuantitéViande <> "" Then Range("TabBDMenus[Quantité viande]").Item(I) = CDbl(tbQuantitéViande.Value) End If Range("TabBDMenus[Nom dessert]").Item(I) = cbNomDessert.Value Range("TabBDMenus[Code nom dessert]").Item(I) = tbCodeNomDessert.Value Range("TabBDMenus[Nom période dessert]").Item(I) = cbNomPériodeDessert.Value Range("TabBDMenus[Code nom période dessert]").Item(I) = tbCodeNomPériodeDessert.Value Range("TabBDMenus[Nom conditionnement dessert]").Item(I) = cbNomConditionnementDessert.Value Range("TabBDMenus[Code nom conditionnement dessert]").Item(I) = tbCodeNomConditionnementDessert.Value If tbQuantitéDessert <> "" Then Range("TabBDMenus[Quantité dessert]").Item(I) = CDbl(tbQuantitéDessert.Value) End If Range("TabBDMenus[Numéro création menu]").Item(I) = tbNuméroCréationMenu.Value Range("TabBDMenus[Nom jour férié]").Item(I) = tbNomJourFérié.Value Range("TabBDMenus[Nom mois menu]").Item(I) = tbNomMoisMenu.Value If cbNomNatureCréationMenu = "Menu midi retraite" Then Call GénérerMenusMidiRetraite ElseIf cbNomNatureCréationMenu = "Menu journalier" Then Call GénérerMenusJournaliers ElseIf cbNomNatureCréationMenu = "Menu viande midi weekend" Then Call GénérerMenusViandesMidiWeekend End If 'Trier la feuille BD menus, tableau structuré TabBDMenus, par date menu et nom nature création menu. Range("TabBDMenus").Sort key1:=Range("TabBDMenus[Date menu]"), key2:=Range("TabBDMenus[Nom nature création menu]"), order2:=xlDescending, _ Header:=xlYes Call RenuméroterMenus End Sub Private Sub cmdSuppressionCréationMenu_Click() Dim I As Long 'Recherche existence article. Si la zone de liste modifiable cbNomNatureCréationMenu et si la zone de texte tbDateMenu est vide, alors on quitte la procédure. If cbNomNatureCréationMenu.Value = "" Or tbDateMenu.Value = "" Then Exit Sub I = IndiceMenu(cbNomNatureCréationMenu.Value, DateValue(tbDateMenu.Value)) If I > 0 Then If MsgBox("Souhaitez-vous supprimer le menu " & cbNomNatureCréationMenu.Value & vbCrLf & "du " & Format(tbDateMenu.Value, "dddd d mmmm yyyy") & " ?", vbExclamation + vbYesNo) = vbYes Then Range("TabBDMenus").ListObject.ListRows(I).Delete Call RenuméroterMenus cbNomNatureCréationMenu.Value = "" If cbNomNatureCréationMenu = "Menu midi retraite" Then Call GénérerMenusMidiRetraite ElseIf cbNomNatureCréationMenu = "Menu journalier" Then Call GénérerMenusJournaliers ElseIf cbNomNatureCréationMenu = "Menu viande midi weekend" Then Call GénérerMenusViandesMidiWeekend End If End If End If End Sub Private Sub RenuméroterMenus() Dim K As Long, NbLignes As Long, N As Long NbLignes = Range("TabBDMenus").ListObject.ListRows.Count K = 1 For N = 1 To NbLignes 'Si la valeur CodeMenu de l'élément N du tableau est identique au contrôle de la Zone de liste modifiable CBNomNatureCréationMenu pour l'année en cours, alors on renu- 'mérote l 'élément. If Range("TabBDMenus[Code nom nature création menu]").Item(N) = tbCodeNomNatureCréationMenu.Value Then 'Alors on renumérote l'élément. Range("TabBDMenus[Numéro création menu]").Item(N) = tbCodeNomNatureCréationMenu.Value & "-" & Format(K, "00") K = K + 1 End If Next N End Sub
Création articles menusCAMDessert midi retraiteDMRPommeDMR01Lundi à vendredi midisPAM051 sachet de 2 kilogrammes. 1 pomme pour 1 repasCAM171,001,00mercredi 6 septembre 2023DMR-01DMRPommeCréation articles menusCAMDessert soirDSPommeDS01Lundi à vendredi soirsPAM061 sachet de 2 kilogrammes. 1 pomme pour 1 repasCAM171,001,00mercredi 6 septembre 2023DS-01DSPommeCréation articles menusCAMDesserts weekendDWAnanasDW01Samedi et dimanche midis et soirsPAM10Unité : 1 pour 4 repasCAM330,250,50mercredi 6 septembre 2023DW-01DWAnanasCréation articles menusCAMDesserts weekendDWAutres fruitsDW02Samedi et dimanche midis et soirsPAM10Unité : 2 à 4 pour 1 repasCAM354,008,00mercredi 6 septembre 2023DW-02DWAutres fruitsCréation articles menusCAMDesserts weekendDWAvocatsDW03Samedi et dimanche midis et soirsPAM10Unité : 1 pour 1 repasCAM311,002,00mercredi 6 septembre 2023DW-03DWAvocatsCréation articles menusCAMDesserts weekendDWBananesDW04Samedi et dimanche midis et soirsPAM10Unité : 1 pour 1 repasCAM311,002,00mercredi 6 septembre 2023DW-04DWBananesCréation articles menusCAMDesserts weekendDWClémentinesDW05Samedi et dimanche midis et soirsPAM10Unité : 2 à 4 pour 1 repasCAM354,008,00mercredi 6 septembre 2023DW-05DWClémentinesCréation articles menusCAMDesserts weekendDWCrèmeDW06Samedi et dimanche midis et soirsPAM101 pack de 4 pots pour le weekend. 1 pot pour 1 repasCAM101,002,00mercredi 6 septembre 2023DW-06DWCrèmeCréation articles menusCAMDesserts weekendDWDattesDW07Samedi et dimanche midis et soirsPAM101 paquet pour 4 repasCAM150,250,50mercredi 6 septembre 2023DW-07DWDattesCréation articles menusCAMDesserts weekendDWFiguesDW08Samedi et dimanche midis et soirsPAM101 paquet pour 4 repasCAM150,250,50mercredi 6 septembre 2023DW-08DWFiguesCréation articles menusCAMDesserts weekendDWFromage blancDW09Samedi et dimanche midis et soirsPAM101 pack de 4 pots pour le weekend. 1 pot pour 1 repasCAM101,002,00mercredi 6 septembre 2023DW-09DWFromage blancCréation articles menusCAMDesserts weekendDWFruits au siropDW10Samedi et dimanche midis et soirsPAM101 boîte pour 2 repasCAM050,501,00mercredi 6 septembre 2023DW-10DWFruits au siropCréation articles menusCAMDesserts weekendDWFruits de saisonDW11Samedi et dimanche midis et soirsPAM10Unité : 2 à 4 pour 1 repasCAM354,008,00mercredi 6 septembre 2023DW-11DWFruits de saisonCréation articles menusCAMDesserts weekendDWGâteau de rizDW12Samedi et dimanche midis et soirsPAM101 pack de 4 pots pour le weekend. 1 pot pour 1 repasCAM101,002,00mercredi 6 septembre 2023DW-12DWGâteau de rizCréation articles menusCAMDesserts weekendDWGâteau de semouleDW13Samedi et dimanche midis et soirsPAM101 pack de 4 pots pour le weekend. 1 pot pour 1 repasCAM101,002,00mercredi 6 septembre 2023DW-13DWGâteau de semouleCréation articles menusCAMDesserts weekendDWGâteaux samedi dimancheDW14Samedi et dimanche midis et soirsPAM101 boîte pour 2 repasCAM050,501,00mercredi 6 septembre 2023DW-14DWGâteaux samedi dimancheCréation articles menusCAMDesserts weekendDWMousse au chocolatDW15Samedi et dimanche midis et soirsPAM101 pack de 4 pots pour le weekend. 1 pot pour 1 repasCAM101,002,00mercredi 6 septembre 2023DW-15DWMousse au chocolatCréation articles menusCAMDesserts weekendDWOrangesDW16Samedi et dimanche midis et soirsPAM10Unité : 1 pour 1 repasCAM311,002,00mercredi 6 septembre 2023DW-16DWOrangesCréation articles menusCAMDesserts weekendDWPetits suissesDW17Samedi et dimanche midis et soirsPAM101 pack de 6 pots. 3 pots pour 1 repasCAM113,006,00mercredi 6 septembre 2023DW-17DWPetits suissesCréation articles menusCAMDesserts weekendDWPruneauxDW18Samedi et dimanche midis et soirsPAM101 paquet pour 4 repasCAM150,250,50mercredi 6 septembre 2023DW-18DWPruneauxCréation articles menusCAMDesserts weekendDWRiz au laitDW19Samedi et dimanche midis et soirsPAM101 pack de 4 pots pour le weekend. 1 pot pour 1 repasCAM101,002,00mercredi 6 septembre 2023DW-19DWRiz au laitCréation articles menusCAMDesserts weekendDWTapiocaDW20Samedi et dimanche midis et soirsPAM1025 grammes pour 1 repasCAM2525,0050,00mercredi 6 septembre 2023DW-20DWTapiocaCréation articles menusCAMDesserts weekendDWYaourtsDW21Samedi et dimanche midis et soirsPAM101 pack de 4 pots pour le weekend. 1 pot pour 1 repasCAM101,002,00mercredi 6 septembre 2023DW-21DWYaourtsCréation articles menusCAMLégumes midi retraiteLMRAspergesLMR01Lundi à vendredi midisPAM051 bocal ou 1 boîte pour 1 repasCAM011,001,00mercredi 6 septembre 2023LMR-01LMRAspergesCréation articles menusCAMLégumes midi retraiteLMRAvocatLMR02Lundi à vendredi midisPAM05Unité : 1 pour 1 repasCAM311,001,00mercredi 6 septembre 2023LMR-02LMRAvocatCréation articles menusCAMLégumes midi retraiteLMRCarottesLMR03Lundi à vendredi midisPAM05Unité : 2 pour 1 repasCAM362,002,00mercredi 6 septembre 2023LMR-03LMRCarottesCréation articles menusCAMLégumes midi retraiteLMRCéleriLMR04Lundi à vendredi midisPAM05Unité : 1 branche pour 1 repasCAM291,001,00mercredi 6 septembre 2023LMR-04LMRCéleriCréation articles menusCAMLégumes midi retraiteLMRChampignonsLMR05Lundi à vendredi midisPAM051 boîte pour 1 repasCAM041,001,00mercredi 6 septembre 2023LMR-05LMRChampignonsCréation articles menusCAMLégumes midi retraiteLMRConcombreLMR06Lundi à vendredi midisPAM05Unité : 1 pour 1 repasCAM311,001,00mercredi 6 septembre 2023LMR-06LMRConcombreCréation articles menusCAMLégumes midi retraiteLMRCouscousLMR07Lundi à vendredi midisPAM0525 grammes pour 1 repasCAM2525,0025,00mercredi 6 septembre 2023LMR-07LMRCouscousCréation articles menusCAMLégumes midi retraiteLMRMaïsLMR08Lundi à vendredi midisPAM051 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LMR-08LMRMaïsCréation articles menusCAMLégumes midi retraiteLMRPâtes à la sauce tomatesLMR09Lundi à vendredi midisPAM055 cuillères pour 1 repasCAM275,005,00mercredi 6 septembre 2023LMR-09LMRPâtes à la sauce tomatesCréation articles menusCAMLégumes midi retraiteLMRPâtes au beurreLMR10Lundi à vendredi midisPAM055 cuillères pour 1 repasCAM275,005,00mercredi 6 septembre 2023LMR-10LMRPâtes au beurreCréation articles menusCAMLégumes midi retraiteLMRPoireauLMR11Lundi à vendredi midisPAM05Unité : 1 pour 1 repasCAM311,001,00mercredi 6 septembre 2023LMR-11LMRPoireauCréation articles menusCAMLégumes midi retraiteLMRPomme de terreLMR12Lundi à vendredi midisPAM05Unité : 1 pour 1 repasCAM311,001,00mercredi 6 septembre 2023LMR-12LMRPomme de terreCréation articles menusCAMLégumes midi retraiteLMRPuréeLMR13Lundi à vendredi midisPAM0525 grammes pour 1 repasCAM2525,0025,00mercredi 6 septembre 2023LMR-13LMRPuréeCréation articles menusCAMLégumes midi retraiteLMRRadisLMR14Lundi à vendredi midisPAM051 botte ou 1 sachet pour 2 repasCAM070,500,50mercredi 6 septembre 2023LMR-14LMRRadisCréation articles menusCAMLégumes midi retraiteLMRRizLMR15Lundi à vendredi midisPAM0525 grammes pour 1 repasCAM2525,0025,00mercredi 6 septembre 2023LMR-15LMRRizCréation articles menusCAMLégumes midi retraiteLMRSaladeLMR16Lundi à vendredi midisPAM05Unité : 1 tête pour 1 repasCAM341,001,00mercredi 6 septembre 2023LMR-16LMRSaladeCréation articles menusCAMLégumes midi retraiteLMRTomatesLMR17Lundi à vendredi midisPAM05Unité : 2 pour 1 repasCAM362,002,00mercredi 6 septembre 2023LMR-17LMRTomatesCréation articles menusCAMLégumes soirs lundi mardiLSLMCassouletLSLM01Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSLM-01LSLMCassouletCréation articles menusCAMLégumes soirs lundi mardiLSLMChoucrouteLSLM02Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSLM-02LSLMChoucrouteCréation articles menusCAMLégumes soirs lundi mardiLSLMChou-fleurLSLM03Lundi et mardi soirsPAM07Unité : 1 pour 2 repasCAM320,500,50mercredi 6 septembre 2023LSLM-03LSLMChou-fleurCréation articles menusCAMLégumes soirs lundi mardiLSLMChoux de BruxellesLSLM04Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSLM-04LSLMChoux de BruxellesCréation articles menusCAMLégumes soirs lundi mardiLSLMCouscousLSLM05Lundi et mardi soirsPAM0725 grammes pour 1 repasCAM2525,0025,00mercredi 6 septembre 2023LSLM-05LSLMCouscousCréation articles menusCAMLégumes soirs lundi mardiLSLMEndivesLSLM06Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSLM-06LSLMEndivesCréation articles menusCAMLégumes soirs lundi mardiLSLMHaricots vertsLSLM07Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSLM-07LSLMHaricots vertsCréation articles menusCAMLégumes soirs lundi mardiLSLMMaïsLSLM08Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSLM-08LSLMMaïsCréation articles menusCAMLégumes soirs lundi mardiLSLMPaellaLSLM09Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSLM-09LSLMPaellaCréation articles menusCAMLégumes soirs lundi mardiLSLMPoireauLSLM10Lundi et mardi soirsPAM07Unité : 1 pour 1 repasCAM311,001,00mercredi 6 septembre 2023LSLM-10LSLMPoireauCréation articles menusCAMLégumes soirs lundi mardiLSLMPomme de terreLSLM11Lundi et mardi soirsPAM07Unité : 1 pour 1 repasCAM311,001,00mercredi 6 septembre 2023LSLM-11LSLMPomme de terreCréation articles menusCAMLégumes soirs lundi mardiLSLMPuréeLSLM12Lundi et mardi soirsPAM0725 grammes pour 1 repasCAM2525,0025,00mercredi 6 septembre 2023LSLM-12LSLMPuréeCréation articles menusCAMLégumes soirs lundi mardiLSLMQuenellesLSLM13Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSLM-13LSLMQuenellesCréation articles menusCAMLégumes soirs lundi mardiLSLMRizLSLM14Lundi et mardi soirsPAM0725 grammes pour 1 repasCAM2525,0025,00mercredi 6 septembre 2023LSLM-14LSLMRizCréation articles menusCAMLégumes soirs mercredi jeudiLSMJMacédoine de légumesLSMJ01Mercredi et jeudi soirsPAM081 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSMJ-01LSMJMacédoine de légumesCréation articles menusCAMLégumes soirs mercredi jeudiLSMJPetits poisLSMJ02Mercredi et jeudi soirsPAM081 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSMJ-02LSMJPetits poisCréation articles menusCAMLégumes soirs mercredi jeudiLSMJPetits pois et jeunes carottesLSMJ03Mercredi et jeudi soirsPAM081 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSMJ-03LSMJPetits pois et jeunes carottesCréation articles menusCAMLégumes soirs mercredi jeudiLSMJRatatouilleLSMJ04Mercredi et jeudi soirsPAM081 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSMJ-04LSMJRatatouilleCréation articles menusCAMLégumes soirs mercredi jeudiLSMJRaviolisLSMJ05Mercredi et jeudi soirsPAM081 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSMJ-05LSMJRaviolisCréation articles menusCAMLégumes soirs mercredi jeudiLSMJTomates peléesLSMJ06Mercredi et jeudi soirsPAM081 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023LSMJ-06LSMJTomates peléesCréation articles menusCAMLégumes soirs vendrediLSVAspergesLSV01Vendredi soirPAM121 bocal ou 1 boîte pour 1 repasCAM011,001,00mercredi 6 septembre 2023LSV-01LSVAspergesCréation articles menusCAMLégumes soirs vendrediLSVAvocatLSV02Vendredi soirPAM12Unité : 1 pour 1 repasCAM311,001,00mercredi 6 septembre 2023LSV-02LSVAvocatCréation articles menusCAMLégumes soirs vendrediLSVBetteraves rougesLSV03Vendredi soirPAM121 paquet pour 5 repas (betteraves rouges)CAM161,001,00mercredi 6 septembre 2023LSV-03LSVBetteraves rougesCréation articles menusCAMLégumes soirs vendrediLSVCarottesLSV04Vendredi soirPAM12Unité : 2 pour 1 repasCAM362,002,00mercredi 6 septembre 2023LSV-04LSVCarottesCréation articles menusCAMLégumes soirs vendrediLSVCéleriLSV05Vendredi soirPAM12Unité : 1 branche pour 1 repasCAM291,001,00mercredi 6 septembre 2023LSV-05LSVCéleriCréation articles menusCAMLégumes soirs vendrediLSVChampignonsLSV06Vendredi soirPAM121 boîte pour 1 repasCAM041,001,00mercredi 6 septembre 2023LSV-06LSVChampignonsCréation articles menusCAMLégumes soirs vendrediLSVConcombreLSV07Vendredi soirPAM12Unité : 1 pour 1 repasCAM311,001,00mercredi 6 septembre 2023LSV-07LSVConcombreCréation articles menusCAMLégumes soirs vendrediLSVRadisLSV08Vendredi soirPAM121 botte ou 1 sachet pour 1 repasCAM061,001,00mercredi 6 septembre 2023LSV-08LSVRadisCréation articles menusCAMLégumes soirs vendrediLSVSaladeLSV09Vendredi soirPAM12Unité : 1 tête pour 1 repasCAM341,001,00mercredi 6 septembre 2023LSV-09LSVSaladeCréation articles menusCAMLégumes soirs vendrediLSVSalsifisLSV10Vendredi soirPAM121 boîte pour 1 repasCAM041,001,00mercredi 6 septembre 2023LSV-10LSVSalsifisCréation articles menusCAMLégumes soirs vendrediLSVTomatesLSV11Vendredi soirPAM12Unité : 2 pour 1 repasCAM362,002,00mercredi 6 septembre 2023LSV-11LSVTomatesCréation articles menusCAMLégumes weekend dimancheLWDAspergesLWD01Dimanche soirPAM031 bocal ou 1 boîte pour 1 repasCAM011,001,00mercredi 6 septembre 2023LWD-01LWDAspergesCréation articles menusCAMLégumes weekend dimancheLWDChipsLWD02Dimanche midi et soirPAM021 sachet pour 2 repas (Chips)CAM180,501,00mercredi 6 septembre 2023LWD-02LWDChipsCréation articles menusCAMLégumes weekend dimancheLWDFritesLWD03Dimanche midiPAM0120 frites pour 1 repasCAM2420,0020,00mercredi 6 septembre 2023LWD-03LWDFritesCréation articles menusCAMLégumes weekend dimancheLWDHaricots vertsLWD04Dimanche midi et soirPAM021 boîte pour 2 repasCAM050,501,00mercredi 6 septembre 2023LWD-04LWDHaricots vertsCréation articles menusCAMLégumes weekend samediLWSPâtes à la sauce tomatesLWS01Samedi midi et soirPAM115 cuillères pour 1 repasCAM275,0010,00mercredi 6 septembre 2023LWS-01LWSPâtes à la sauce tomatesCréation articles menusCAMLégumes weekend samediLWSPâtes au beurreLWS02Samedi midi et soirPAM115 cuillères pour 1 repasCAM275,0010,00mercredi 6 septembre 2023LWS-02LWSPâtes au beurreCréation articles menusCAMLégumes weekend samediLWSPâtes au fromage râpéLWS03Samedi midi et soirPAM115 cuillères pour 1 repasCAM275,0010,00mercredi 6 septembre 2023LWS-03LWSPâtes au fromage râpéCréation articles menusCAMViandes midi retraiteVMRRôti d'agneauVMR01Lundi à vendredi midisPAM051 morceau de 500 grammes pour 5 repasCAM09100,00100,00mercredi 6 septembre 2023VMR-01VMRRôti d'agneauCréation articles menusCAMViandes midi retraiteVMRRôti de bœufVMR02Lundi à vendredi midisPAM051 morceau de 500 grammes pour 5 repasCAM09100,00100,00mercredi 6 septembre 2023VMR-02VMRRôti de bœufCréation articles menusCAMViandes midi retraiteVMRRôti de chevalVMR03Lundi à vendredi midisPAM051 morceau de 500 grammes pour 5 repasCAM09100,00100,00mercredi 6 septembre 2023VMR-03VMRRôti de chevalCréation articles menusCAMViandes midi retraiteVMRRôti de porcVMR04Lundi à vendredi midisPAM051 morceau de 500 grammes pour 5 repasCAM09100,00100,00mercredi 6 septembre 2023VMR-04VMRRôti de porcCréation articles menusCAMViandes midi retraiteVMRRôti de veauVMR05Lundi à vendredi midisPAM051 morceau de 500 grammes pour 5 repasCAM09100,00100,00mercredi 6 septembre 2023VMR-05VMRRôti de veauCréation articles menusCAMViandes midi weekendVMWAgneauVMW01Samedi et dimanche midisPAM091 tranche pour 1 repasCAM211,001,00mercredi 6 septembre 2023VMW-01VMWAgneauCréation articles menusCAMViandes midi weekendVMWBœufVMW02Samedi et dimanche midisPAM091 tranche pour 1 repasCAM211,001,00mercredi 6 septembre 2023VMW-02VMWBœufCréation articles menusCAMViandes midi weekendVMWChevalVMW03Samedi et dimanche midisPAM091 tranche pour 1 repasCAM211,001,00mercredi 6 septembre 2023VMW-03VMWChevalCréation articles menusCAMViandes midi weekendVMWDindeVMW04Samedi et dimanche midisPAM091 tranche pour 1 repasCAM211,001,00mercredi 6 septembre 2023VMW-04VMWDindeCréation articles menusCAMViandes midi weekendVMWPoissonVMW05Samedi et dimanche midisPAM09Unité : 1 pour 1 repasCAM311,001,00mercredi 6 septembre 2023VMW-05VMWPoissonCréation articles menusCAMViandes midi weekendVMWPorcVMW06Samedi et dimanche midisPAM091 tranche pour 1 repasCAM211,001,00mercredi 6 septembre 2023VMW-06VMWPorcCréation articles menusCAMViandes midi weekendVMWVeauVMW07Samedi et dimanche midisPAM091 tranche pour 1 repasCAM211,001,00mercredi 6 septembre 2023VMW-07VMWVeauCréation articles menusCAMViandes soirsVSBifteck haché de bœufVS01Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-01VSBifteck haché de bœufCréation articles menusCAMViandes soirsVSBifteck haché de chevalVS02Lundi à dimanche soirsPAM04125 grammes pour 1 repas (Bifteckh haché de cheval)
125,00125,00mercredi 6 septembre 2023VS-02VSBifteck haché de chevalCréation articles menusCAMViandes soirsVSBifteck haché de veauVS03Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-03VSBifteck haché de veauCréation articles menusCAMViandes soirsVSBouchée à la reineVS04Lundi à dimanche soirsPAM041 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023VS-04VSBouchée à la reineCréation articles menusCAMViandes soirsVSBoudinVS05Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-05VSBoudinCréation articles menusCAMViandes soirsVSCervelasVS06Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-06VSCervelasCréation articles menusCAMViandes soirsVSCœurVS07Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-07VSCœurCréation articles menusCAMViandes soirsVSCroque-monsieurVS08Lundi à dimanche soirsPAM041 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023VS-08VSCroque-monsieurCréation articles menusCAMViandes soirsVSFoieVS09Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-09VSFoieCréation articles menusCAMViandes soirsVSFromage de têteVS10Lundi à dimanche soirsPAM041 tranche pour 2 repasCAM220,500,50mercredi 6 septembre 2023VS-10VSFromage de têteCréation articles menusCAMViandes soirsVSJambonVS11Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-11VSJambonCréation articles menusCAMViandes soirsVSJambonneauVS12Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-12VSJambonneauCréation articles menusCAMViandes soirsVSMortadelleVS13Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-13VSMortadelleCréation articles menusCAMViandes soirsVSŒufsVS14Lundi à dimanche soirsPAM041 boîte de 6 œufs. 3 œufs pour 1 repasCAM023,003,00mercredi 6 septembre 2023VS-14VSŒufsCréation articles menusCAMViandes soirsVSPizzaVS15Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-15VSPizzaCréation articles menusCAMViandes soirsVSPoissonVS16Lundi à dimanche soirsPAM04Unité : 1 pour 1 repasCAM311,0010,00mercredi 6 septembre 2023VS-16VSPoissonCréation articles menusCAMViandes soirsVSQuiche lorraineVS17Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-17VSQuiche lorraineCréation articles menusCAMViandes soirsVSRoulade à la pistacheVS18Lundi à dimanche soirsPAM043 tranches pour 1 repasCAM263,003,00mercredi 6 septembre 2023VS-18VSRoulade à la pistacheCréation articles menusCAMViandes soirsVSRoulé au fromageVS19Lundi à dimanche soirsPAM041 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023VS-19VSRoulé au fromageCréation articles menusCAMViandes soirsVSSalamiVS20Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-20VSSalamiCréation articles menusCAMViandes soirsVSSaucissesVS21Lundi à dimanche soirsPAM041 paquet pour 2 repasCAM130,500,50mercredi 6 septembre 2023VS-21VSSaucissesCréation articles menusCAMViandes soirsVSSaucissonVS22Lundi à dimanche soirsPAM041 sachet pour 6 repas. 5 tranches pour 1 repas (Saucisson)CAM205,005,00mercredi 6 septembre 2023VS-22VSSaucissonCréation articles menusCAMViandes soirsVSTête persilléeVS23Lundi à dimanche soirsPAM041 tranche pour 2 repasCAM220,500,50mercredi 6 septembre 2023VS-23VSTête persilléeCréation articles menusCAMViandes soirsVSTête rouléeVS24Lundi à dimanche soirsPAM043 tranches pour 1 repasCAM263,003,00mercredi 6 septembre 2023VS-24VSTête rouléeCréation articles menusCAMViandes soirsVSThonVS25Lundi à dimanche soirsPAM041 boîte pour 1 repasCAM041,001,00mercredi 6 septembre 2023VS-25VSThonCréation articles menusCAMViandes soirsVSViande cassouletVS26Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023VS-26VSViande cassouletCréation articles menusCAMViandes soirsVSViande choucrouteVS27Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023VS-27VSViande choucrouteCréation articles menusCAMViandes soirsVSViande paellaVS28Lundi et mardi soirsPAM071 boîte pour 2 repasCAM050,500,50mercredi 6 septembre 2023VS-28VSViande paella
24 nov. 2023 à 13:36
Bonjour,
La logique, c'est ce qui manque le plus dans ton tableur.
Tu devrais peut-être exposer en termes clairs ce que tu veux obtenir au final.
24 nov. 2023 à 13:43
Bonjour,
à l'impossible nul n'est tenu.
On en n'avait plus entendu parler depuis 3 mois, je suppose que d'autres y ont été exposés ailleurs et s'en sont lassés, mais ça fait de mémoire au moins 8 ans que ça dure.
Plus personne ne répond, sauf Bobot, qui n'est donc pas si intelligent qu'il le prétend.
24 nov. 2023 à 13:49
C'est idiot. C'est plus logique de joindre un fichier complet que du code
Tu n'as pas compris, c'est une IA (intelligence artificielle) qui t'a répondu pas une personne, ses modes de raisonnement et de fonctionnement sont donc différents.
24 nov. 2023 à 13:48
Dans mon message initial d'hier, j'explique ce que je veux obtenir quand je crée le menu journalier du vendredi 05 janvier 2024
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question24 nov. 2023 à 13:55
Je me demande comment qu'une IA (pour moi équivalent d'un robot) peut résoudre un problème quel qu'il soit.
24 nov. 2023 à 14:02
L'IA de CCM répond aux posts qui n'ont pas été pris en charge au bout de 24h, vu qu'apparemment personne d'autre ne veut répondre à tes questions, attend la réponse de BoBot tu verras bien ce qu'il te propose.
24 nov. 2023 à 14:07
OK. J'attends
Modifié le 24 nov. 2023 à 15:12
Quel est l'intérêt de mettre des codes aux ingrédients, si ce n'est pour ajouter de la complexité au chaos existant ?
Pourquoi ne te sers-tu as du soft que je t'ai donné il y a longtemps, et qui permet de créer des menus, de les enregistrer, et de les dater si besoin dans des fichiers, qui peuvent êtres classés, triés, indexés, et tout ce qu'on voudra.
Et qui donne en outre les valeurs en protéines lipides, glucides et Kcal.
Je conclus que ton but n'est pas d'établir des menus, mais de te casser la tête (et celle d'autrui) avec un exel que tu ne maîtrise pas.
Et pour lequel dans son état même une IA ne peux t'aider.
24 nov. 2023 à 14:36
Suite du 14h33:
Note que si tu donne ton code à: "Bobot la gentille IA", tu risque de nous le faire crever d'indigestion.