Feuille shSaisieMJ

Signaler
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020
-
BUDGETS
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020
-
Bonjour,
Comment procéder pour remplir la cellule B12 selon le contenu de la cellule B10 ou B11 de la feuille shSaisieMJ ?
D'avance merci pour votre aide.
https://cjoint.com/c/IIAicMhP5E6



Configuration: WINDOWS 7 EXCEL PROFESSIONNEL 2010


84 réponses

Messages postés
24804
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
28 janvier 2020
4 997
Bonjour
précisez?
.. sauf erreur il n'y a pas de feuille SaisieMJ dans le fichier?
et si besoin précisez l'argument qui permet de choisir B11 ou B10, pour remplir BV12
à vous lire
crdlmnt

Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Excuses-moi, je n'ai pas dû joindre le bon fichier.
La cellule B10 se remplit par une validation des données. La cellule B11 se remplit automatiquement grâce à la formule qui y figure selon le choix fait en B10.
https://cjoint.com/c/IIAiA6P20w6

Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Bonjour BUDGETS,

Effectivement, vaucluse, qui a dégainé très vite, a raison, je pense que c'est un ancien fichier que tu as posté.

Peu importe, j'ai les éléments. On va commencer doucement.

Comme tu l'as dit la cellule B12 doit dépendre de la cellule B10 (ou B11).
Tu as mis une liste de validation pour B10 comprenant toutes les catégories, je ne crois pas que ce soit la meilleure solution car B10 ne doit pouvoir prendre que certaines valeurs dans cette liste, qui correspondent,si j'ai bien compris, à LSLM, LSMJ, LSV, LWES, LWED qui sont fonction du jour de la semaine.
Comment modifier B10 pour prendre en compte celà ?

Dans l'attente de ta réponse
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Oui c'est bien cela : cela dépend du jour de la semaine. Les légumes seront les mêmes pour le lundi et le mardi (LSLM), les légumes seront les mêmes pour le mercredi et le jeudi (LSMJ) mais différents de LSLM, et ainsi de suite.
ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Donc en B10 il faut changer le code catégorie selon le jour de la semaine (date en B7) avec un fonction SI et la fonction JOURSEM.

Tu peux proposer une formule ou tout au moins le début avec juste un code ou deux ?
Sinon je peux te la donner mais, pour que tu comprennes bien, il vaut mieux l'ébaucher toi-même !

Bon courage
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Je préfères que tu me la donnes
ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Alors on y va !

La date est en $B$7, la fonction JOURSEM($B$7;2) donne le n° du jour de la semaine de 1 (Lundi) à 7 (dimanche).
La fonction SI permet de tester cette valeur et d'affecter une catégorie.

La formule en B10 peut donc être écrite comme ceci en imbriquant plusieurs fonctions :
=SI(JOURSEM($B$7;2)<=2;"CC05";SI(JOURSEM($B$7;2)<=4;"CC06";SI(JOURSEM($B$7;2)=5;"CC07";SI(JOURSEM($B$7;2)=6;"CC09";SI(JOURSEM($B$7;2)=7;"CC08";"")))))

Tu testes si c'est ok en faisant varier la date.

Pour la viande, toujours si j'ai bien compris, il n'y a qu'une seule catégorie. Pour le dessert il faudrait avoir la même chose mais en plus simple. D'ailleurs dans la feuille Référentiels il vaudrait mieux avoir un tableau pour DS et un tableau pour DW.

Bon courage
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Si cela ne te déranges pas, je vais tester cette après-midi (vers 15 heures) car là je suis occupé à autre chose. Le précédent est-il bien à résolu comme tu me l'as suggéré et demandé

ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Oui ok pour le sujet précédent, celà n’empêchera pas de revenir sur d'autres points dans le cadre de ce sujet.
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Feuille shAccueilMenus : cellules I7 à K7 : on choisit la date du menu. Feuille shSaisieMJ : cellule B7 : la date n'est pas celle choisie dans la feuille shAccueilMenus. Peut-être faut-il écrire les instructions de la macro CréerMMR, partie Initialiser ou effacer la date menu en tenant compte que là il s'agit d'un menu journalier. Voila, c'est fait et la date exacte ressort bien en B7.
J'ai fait un copier coller de ta formule dans ma feuille shSaisieMJ, cellule B10. Je n'ai rien compris mais cela ne donne pas le résultat souhaité. Cellule B10 : d'après la liste déroulante, je choisis CC05 (pour légume soirs lundi mardi). La Cellule B12 devra alors me donner la liste des codes LSLM telle qu'elle a été définie dans la feuille shRéférentiels (cellules AU2:AU15). Le contenu de la cellule B12 est indépendant de la date.
Voir fichier avec ta formule en B10 et la modification apportée dans la feuille shRéférentiels (deux tableaux, l'un pour DSLV, l'autre pour DWE).
https://cjoint.com/c/IIAng17pYw6

ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
BUDGETS,

Je n'ai pas dit que tout était fait, mais qu'on allait y aller par étapes.
Pour le moment, on a juste codé en B10, B11 le code te le nom catégorie en fonction du jour de la semaine, il n'y a encore rien dans B12.
J'ai corrigé la procédure CréerMJ qui va chercher les valeurs pour la date sur AccueilMenus en I7, J7 et K7 (et non pas C, D, E comme pour MMR)
Au passage, j'ai corrigé dans Référentiels, tes tableaux DS et DWE pour les titres et supprimer DS01 de DWE, il faut créer les noms correspondants pour DWE

Tu peux faire quelque chose de similaire pour la partie Dessert (Viande c'est simple)

https://www.cjoint.com/c/IIAnGZO413l

On verra pour B12 après, mais si tu as des idées pour le traiter, n'hésite pas
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Un miracle : cela arrive, heureusement : j'ai compris la formule de B10 pour laquelle tu as tenu compte du fait que le lundi et le mardi ce sont les mêmes légumes; et ainsi de suite.
Pour les desserts : du lundi au vendredi inclus : ce sera toujours Pomme (DS01); Pour le samedi et le dimanche : ce sera un DWE, le même le samedi et le dimanche.
ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Super ! alors tu peux coder l'équivalent pour Dessert et faire la parie viande mais là il n'y a rien de difficile.

On voit après pour B12 (et H12 pour dessert)

Bon courage
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Pour SaisieMenusVWE ou SaisieMMR, dans quel module se trouve l'instruction qui permet de saisir un menu qui soit uniquement pour un samedi ou un dimanche (MVWE) ou un menu qui soit pour un lundi à vendredi uniquement (MMR) ?

ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Regarde dans les procédures évènementielles des feuilles shSaisieMMR et shSaisieMVWE, c'est cela dont tu parles ?
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Je n'ai rien trouvé dans ces deux feuilles. Pour la feuille shSaisieMMR, on lui imposé de refuser les samedis et les dimanches. Pour la feuille shSaisieVWE, on lui a imposé de ne pas accepter un menu pour les lundi à vendredi inclus. C'est cela que je recherche car je vais en avoir besoin pour les desserts.

ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Regarde dans les procédures des feuilles en question et pas dans les modules, mais je ne pense pas que tu l'utiliseras pour les desserts MJ !
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Je l'ai trouvé, c'est dans le code des feuilles shSaisieMMR et shSaisieVWE, contrôle saisie de la date. Pour les desserts, une partie sera obligatoirement DS du lundi au vendredi inclus, DWE pour le samedi et le dimanche. Je vais voir le code pour essayer de l'appliquer pour mes desserts. Quant à la viande, pour l'instant, je ne m'en occupe pas car il me faudra l'avis de l'expert ALS35.
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Dans ($B$7;2) : que signifie le 2 ? <=2 : inférieur ou égal à 2 (2 pour le lundi et le mardi);<=4 : inférieur ou égal à 4 (4 pour le mercredi et le jeudi);5 pour le vendredi;6 pour le samedi;7 pour le dimanche.
Regarde la formule de la cellule H10. J'ai testé et chez moi aucun problème. J'ai essayé avec weekday mais aucun résultat satisfaisant.
https://cjoint.com/c/IIAub0Hp6z6

ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Bonjour BUDGETS,

Dans la fonction JOURSEM($B$7;2), le paramètre 2 signifie que la semaine commence un lundi. Le numéro renvoyé par JOURSEM pour la date saisie en B7 va de 1 (lundi) à 7 (dimanche).
Voir :
https://support.office.com/fr-fr/article/joursem-joursem-fonction-60e44483-2ed1-439f-8bd0-e404c190949a
A rapprocher de la fonction vba Weekday :
https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/weekday-function

Donc quand on écrit SI(JOURSEM($B$7;2) <=5 (par exemple), cela veut dire : si le jour de la semaine est un lundi, mardi, mercredi, jeudi ou vendredi.

Ta fonction en H10 est erronée, il faut écrire
=SI(JOURSEM($B$7;2)<=5;"CC02";CC03") qui veut dire
si le jour de la semaine est un lundi, mardi, mercredi, jeudi ou vendredi alors on met "CC02"
sinon (c'est donc forcément un samedi ou dimanche) on met "CC03"

Voilà, bonne continuation
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Merci pour tes explications très claires et compréhensibles. Ta formule pour H10 est plus courte;malgré tout, la mienne fonctionnait tout de même, je l'avais testée.
Pour les viandes, le jour de la semaine n'aura aucune incidence, je vais donc faire une validation des données pour le code catégorie.
Dimanche 29 septembre, je ne travaillerai pas sur Excel (ou ce sera le soir) car je roulerais mes cigarettes pour le mois d'octobre et repasserai mon linge.
Mardi 01 octobre, je ne travaillerai pas sur Excel (ou ce sera le soir) car je ferai mes comptes du mois de septembre et mes courses pour acheter ma nourriture du mois d'octobre.
ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Ok, très bien si tu as compris la formule.

Pour les viandes il s'agira du code VS je pense et en principe pour la viande c'est fini.
Il restera les cellules B12 et H12. Une indication : on agira au niveau de la validation de données avec des fonctions SI.

Bon courage
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Comme tu me le proposes à chaque fois, j'ai testé ta dernière formule ("CC02";"CC03") et elle fonctionne également. Comme elle est plus courte que la mienne, je l'ai donc retenue.
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Comme tu me le proposes à chaque fois, j'ai testé ta dernière formule ("CC02";"CC03") et elle fonctionne également. Comme elle est plus courte que la mienne, je l'ai donc retenue.
Compte tenu des indications du précédent message, j'ai créé dans la feuille shRéférentiels un nom défini Liste_Code_Produit faisant référence à Code LSLM et à Code LSMJ. Dans la feuille shMJ, j'ai créé une validation des données autorisant une liste et dont la source est =Liste_Code_Produit. Dans la feuille shAccueilMenus, j'ai choisi une date concernant un lundi, puis une autre concernant un mercredi, dans la feuille shSaisieMJ, j'ai choisi respectivement un produit du lundi puis un produit du mercredi et tout a fonctionné correctement. Ce n'est peut-être pas la solution la plus simple. Merci de me dire si j'ai bien compris ton indication du précédent message. Pour l'instant, aucun enregistrement n'est encore codifié.
https://cjoint.com/c/IIBohrqwBr6
ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Bonjour BUDGETS,

C'est exactement le principe que je te suggérais.
Mais, Ouh la la , que ta formule pour Liste_Code_Produit est compliquée !

Tu peux faire plus simple sans passer par DECALER et NBVAL et en utilisant les noms de listes déjà définis :

=SI('Saisie MJ'!$B$10="CC05";Liste_Code_LSLM;SI('Saisie MJ'!$B$10="CC06";Liste_Code_LSMJ))

Formule à compléter , bien sûr, pour vendredi, samedi et dimanche

Même principe pour les desserts avec seulement deux listes

Bon courage
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Pour les desserts, il faut une liste_code_produit avec un nom différent ? J'ai essayé avec le même nom défini, mais la liste qui apparaît n'est pas conforme. Voir fichier joint.
https://cjoint.com/c/IIBrwQCw2e6
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

J'ai créé un nouveau nom défini pour les desserts et cela fonctionne. Apparemment, on ne peut pas faire de mélanges. J'ai fini de composer ma feuille shSaisieMJ. Les différents tests effectués sont concluants et fidèles aux résultats escomptés. Pour les viandes soirs, pour code catégorie, j'ai créé une formule identique à celle de la cellule B10 avec les modifications nécessaires <=8;"CC14" et suppression de tout le reste;Validation données (source = Liste_Code_VS). Maintenant, je vais créer la feuille Menus MJ pour y enregistrer les données adéquates. La semaine prochaine, je m'attaquerai aux codes des modules et, éventuellement, à celui de la feuille shSaisieMJ.

ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Ah Super !

Pour les viandes, j'ai l’impression que le test que tu as fait est inutile, il n'y a qu'une seule valeur "CC14" que tu mets directement dans la cellule. De toutes façons si tu testes JOURSEM($B$7;2) <= 8 c'est toujours vrai car JOURSEM renvoie un nombre de 1 à 7 et pas autre chose.

Bonne continuation pour la suite, tu progresses bien.
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

et pour les desserts mis dans le nom défini liste_code_produit avec les légumes, as-tu une explication pour que cela ne fonctionne pas (ma suggestion de mélanges impossibles est-elle la bonne) ou ai-je commis une erreur dans sa rédaction ? Souhaites-tu que je t'envoie mon nouveau fichier ? Pour les viandes, aurais-tu une solution qui permettrait de ne pas avoir recours à la fonction joursem ?

ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Pour les viandes tu mets directement CC14 en E10, en E12tu fait une validation de données sur le Code VS.

Pour les desserts, si tu utilises la même formule de validation de données que pour les légumes il est logique que le résultat corresponde aux légumes et pas aux desserts. Ce n'est pas une question de mélanges. A la même formule correspond le même résultat.

Bonne continuation
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Si tu regardes ma formule Liste_Code_Produit, j'ai mis tout ce qui concerne la cellule B12 avec les différents noms définis pour les légumes;ensuite j'ai mis tout ce qui concerne la cellule H12 avec les différents noms définis pour les desserts. Comment je fais pour mettre directement CC14 en E10 ?
ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Bonjour BUDGETS,

Ah désolé, je n'avais pas vu ta formule complète pour Liste_Code_Produit et je n'avais pas imaginé que tu puisses le faire comme cela !
En fait tel qu'elle est écrite, il est impossible d'atteindre le test de la cellule H10, car les fonctions SI testent d'abord la cellule B10. Ce test de H10 n'est possible que si la cellule B10 est vide (ce qui est exclu normalement). Tu peux t'amuser à vérifier.
Donc la bonne solution est de faire deux formules, une pour les légumes et une autre pour les desserts.
Mais peut-être l'as-tu déjà fait depuis ton message !

Cordialement
Messages postés
703
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
28 janvier 2020

Je continue à préparer mon programme; Je viens de créer la feuille Menus MJ à partir de la feuille Menus MMR (en tenant compte du fait qu'il y a maintenant sept jours et non plus cinq) par copier coller pour le mois de janvier et pour les autres mois, à partir de janvier de la feuille Menus MJ. Il y a un truc qui me dépasse et pour lequel je n'ai pas trouvé l'origine : comment as-tu créé la feuille Jours fériés : pour le 01 janvier, pas de problème, c'est toujours férié;mais pour Pâques, par exemple, d'une année à l'autre, le mois change : j'ai changé l'année sur la feuille Accueil menus, et la feuille Jours fériés m'a donné toutes les dates des fêtes pour ladite année.
Quand j'aurai fini mon programme, je reviendrai sur certaines feuilles et certains modules afin d'obtenir ton accord ou non sur mes commentaires et la manière de comprendre ou pas les formules, les fonctions.
Bonnes fin de journée, nuit, continuation. À lundi.

ALS35
Messages postés
371
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
28 janvier 2020
13
Re bonjour BUDGETS,

Effectivement la date de Pâques est variable d'une année à l'autre .
La date de Pâques est calculée par une formule tout à fait empirique, faite par des gens pointus dans ce domaine, et qui donne un résultat exact pour plusieurs dizaine d'années à venir.
Les dates des lundi de Pâques, du jeudi de l'Ascension des dimanche et lundis de Pentecôte en sont dépendantes. Les autres jours fériés sont des dates fixes dans l'année.
Tu peux regarder les formules utilisées pour chacune de ces dates dans la feuille Jours Fériés.

Cordialement
1 2 3 4 5