Mise en forme d'une feuille à partir de données d'une autre feuille
J'aimerais mettre automatiquement en forme la feuille "menu à imprimer" en fonction des données de la feuille "MENU" de mon document "MENU version4" de la même façon que l'image "menu 2022 semaine 40..."
Par exemple, il y a rarement plus de 2 entrées, 3 plats chaud ect...
J'aimerais qu'il y ai toujours le même espacement entre les différentes catégorie (entré, plat chaud, ect...) qu'il y ai une ou trois entrées.
Dans la même logique, si le nom d'une entré est particulièrement longue, j'aimerai que les colonnes suivantes s'adaptent automatiquement pour garder un espacement régulier.
peut être qu'avec une macro ça serait plus simple, mais si je peux éviter de les utiliser. pareil pour la fonction lier un document, j'aimerais gérer l'impression directement dans mon classeur sans passer par word. Comme ce n'est pas moi qui m'occupe de l'impression, j'aimerais que la secrétaire est le moins de manipulation possible a faire pour mettre en forme avant impression, qu'elle ai juste certaines couleurs à changer.
Enfin, j'aimerais que mon document reste centré, et qu'il tienne dans une feuille A4 pour impression.
Je suis tout nouveau sur excel. J'ai appris sur openoffice, et je suis tout perdu.
Merci d'avance pour vos réponses :)
Bonjour dicyce,
Sans macro, à priori cela me semble réalisable mais les formules de la feuille "menu" vont être relativement complexes et pour partie basées sur la fonction Excel "INDIRECT" pour pouvoir gérer le fait que dans une catégorie il n'y ait pas toujours le même nombre de plats proposés.
Pour la couleur, il faudrait rajouter dans la feuille "Menu", une colonne à côté de chaque plat pour qualifier le plat ("Plats protidiques", "Légumes et fruits secs", ...) car je n'ai pas vu de référentiel des plats mais uniquement des ingrédients (Liste des produits). A chaque saisie d'un plat, il faudra choisir une qualification pour que le plat soit affiché et imprimé avec la bonne couleur.
Par contre dans la feuille "Menu" : "Corbeille de fruits" est sous "Autre :" de "Produits laitiers" et dans le menu imprimé (fichier pdf) il me semble apparaitre avec les desserts. Si c'est cela, ce serait moins compliqué de le mettre directement avec les desserts.
Pour l'impression, aucun problème pour le faire à partir d'Excel en le faisant tenir sur une feuille A4 et centré, c'est même le plus facile de ta demande
Sans macro, il restera une manip à faire manuellement lorsque le nom d'un plat ne sera pas totalement visible dans une cellule => sélectionner la feuille et double cliquer à l'intersection de 2 lignes dans la zone d'affichage des n° de lignes pour que leur taille s'ajuste au contenu.
Dis-moi si la modif de la feuille "Menu" est envisageable (bien sûr sans casser les liens vers les autres feuilles) ?
Bien sur, on peut modifier la feuille MENU pour plus de facilité. j'aurais voulu garder la logique "entré, plat, dessert, fromage, yaourt, corbeille de fruit", mais ce n'est pas très important. de toute façon vu comment je m'arrache les cheveux, je suis pret a tous les compromis.
Et je ne voulais pas de macro, car sur open office, il faut la télécharger quant on ouvre le fichier sur un autre ordinateur, et il y a un message d'avertissement. c'est peut être différent sur excel. Si il faut juste les activer sur le document sans télécharger un fichier annexe, (je crois avoir compris ça depuis hier) pourquoi pas, mais la seul chose que je n'ai jamais réussi a faire en code, c'est a écrire "hello word" en html T_T
Ok, je regarde ça.
Ci-jointe, une proposition.
Les couleurs sont positionnées par des mises en forme conditionnelle. Sans recourir au VB, il n'est pas possible de mixer les couleurs dans un plat comme dans l'exemple en pdf "Endives avec dés d'emmental", il faudra faire un choix du type dominant.
J'ai ajouté, un onglet "Paramètres" qui est le cœur de la mécanique de conversion du menu saisi en menu à imprimer. Il y a quelques commentaires mais si besoin de plus d'explications, pas de soucis
Le menu à imprimer s'actualise automatiquement en fonction des saisies faite dans l'onglet "MENU". La zone d'impression s'ajuste à la dernière ligne saisie et l'impression tient sur une feuille A4 et est centrée.
A toi de tester ! Regardes et dis-moi s'il y a des points à modifier / améliorer.
C'est vraiment top ce que tu as fait, merci beaucoup <3
Seulement, il y a encore quelques problèmes.
Ce n'est pas moi qui vais confectionner les menus, mais mon chef. Or, il n'est vraiment pas à l'aise avec un ordinateur.
je ne veux pas lui demander de mettre lui meme les couleurs, ou d'actualiser des cellules.( d'ailleur je n'ai pas compris moi meme comment actualiser les cellules sur fon jeune et sur fond orange) Il faut que ce soit le plus simple possible.
Aussi, j'aimerai si c'est possible, garder la structure de mon ancienne feuille "MENUS" c'est à dire sans les colonnes "types de plat" et avec une colonne qui renvois au catégorie " viande; poisson, légumes, féculent, autre et autre. pour chaque jours de la semaine (il va faire des erreur sinon c'est sur...)
Que ce soit juste ces catégorie qui déterminent la couleur des plats chaud. pour les entrée et les dessert, il faudrait que ce soit la secrétaire qui change les couleurs,
et qu'elle puisse le faire directement dans la feuille "menus à imprimer" si possible.
apres ci c'est plus simple pour la secrétaire avec une macro, si il faut juste activer la macro et la lancer avec un raccourcis par exemple, je ne suis pas hostile à l'idée.
et il y a un autre problème : si les nom des plats sont particulièrement long, ils se coupent dans la feuille pour impression". il faudrait qu'ils puisse être affiché entièrement.
Il y a aussi le problème des espaces qui ne disparaissent pas dans la feuille à imprimer quand une cellule de la feuille menu est vide. Sur ce point je pense que c'est ma faute, j'ai du mal a formuler mon problème. Je veux que, quand il y a par exemple une entré en B9, une en B11 et une en B14 dans ma feuille menu, elles apparaissent en A11, A12 et A13 dans la feuille impression, et que tout le reste du document s'adapte en fonction (qu'il n'y ait qu'une seul ligne vide pour délimiter la séparation entre le jour ou il y a le plus de plat, et la catégorie suivante.
mais merci pour votre travail, cela m'avance déja beaucoup
La saisie se fait uniquement dans la feuille "MENU", il n'y a rien à saisir ou à modifier ailleurs. Dans la feuille "MENU", il faut saisir un plat et sa catégorie, c'est tout. La feuille "Menu_à_imprimer" s'actualise sans aucune autre action et les couleurs sont positionnées automatiquement. Par rapport à ton ancien fichier, la seule modif pour le directeur ou la secrétaire est qu'ils doivent préciser le type de plat.
Par contre, je ne comprends pas en quoi le choix des couleurs est spécifique pour les entrées et les desserts, ce n'est pas précisé dans ta demande, ni visible dans le pdf (Les couleurs semblent liées à la catégorie).
Merci de préciser ce dernier point mais avant S.T.P. refais des tests en fonction de ce que je viens de te préciser au début de ma réponse car je crois que tu n'as utilisé le classeur correctement.
HA d'accord, je n'avais pas vu les menus déroulant dans la page MENU, autant pour moi, je refait des tests (pardon, je ne suis pas très doué je le sais )
Je n'ai pas voulu dire que les couleurs sont spécifique pour les entrées et les desserts, mais j'imaginais que la couleurs des plats chauds seraient spécifié (je voulais dire déterminé) par mes anciennes catégories (viande, poisson, féculent et légumes) qui auraient correspondu a : plat protidique, légume et fruit cuits et féculent pour la feuille à imprimer.
Dans mon esprit la secrétaire n'aurait peu qu'a choisir les couleurs des entrées et des dessert, on s'est mal compris.
Il y a aussi le problème des espaces qui ne disparaissent pas dans la feuille à imprimer quand une cellule de la feuille menu est vide. Sur ce point je pense que c'est ma faute, j'ai du mal a formuler mon problème. Je veux que, quand il y a par exemple une entré en B9, une en B11 et une en B14 dans ma feuille menu, elles apparaissent en A11, A12 et A13 dans la feuille impression, et que tout le reste du document s'adapte en fonction (qu'il n'y ait qu'une seul ligne vide pour délimiter la séparation entre le jour ou il y a le plus de plat, et la catégorie suivante.
mais merci pour votre travail, cela m'avance déja beaucoup
Pour les saisies espacées dans "Plat chaud", je regarde ... ça conditionnera la réponse à l'autre point "Je n'ai pas voulu dire que les couleurs sont spécifiques ..."
Bonsoir dicyce,
La gestion des lignes vides est trop complexe par formule. Je te propose une alternative :
- La police des plats chauds saisis est de la couleur correspondante à viande, poisson, légumes et féculents.
- Un message d'information est affiché en rouge en dessous du menu du jour lorsqu'il n'y a pas une viande ET un poisson proposé ou qu'il n'y a pas de légumes. C'est un exemple, l'affichage du message peut être conditionné de manière différente.
- Si tu le souhaites, je pourrai supprimer la colonne "A" de la feuille "MENU" car elle n'apporte pas vraiment d'information.
Je ne pense pas que ce soit très compliqué même pour une personne pas très à l'aise avec un PC.
Je te laisse regarder et me dire ce que tu en penses.
Très beau travail, je suis vraiment impressionné.
Effectivement on peut supprimer la colonne A, comme ça, le chef entrera les données les unes à la suites des autres, et il n'y aura plus (ou moins) de soucis avec la gestion des lignes vide. C'est ma faute, j'ai complexifié le document pour rien.
Restera à charge de la secrétaire de choisir les différentes catégories, mais ce sera toujours moins long que de taper le doc entier sous word. merci pour elle.
juste quelques détails, est ce que vous pouvez rajouter une ligne de séparation entre la légende et le contenu du menu dans la feuille "menu_à_imprimer ?
(comme dans le pdf)
Est ce que vous pouvez supprimer la légende et le bon appetit dans la feuille menu? quite a les déplacer dans la feuille paramètre si elles ont un role.
et est ce que vous pouvez m'expliquer les cellules a actualiser dans la feuille paramètre ? (en jaune et orange)
d'ailleurs si vous pouviez m'expliquer les fonctions principales que vous avez intégré, et mettre ces explication dans la feuille parametre ça serait top, que l'on puisse plus facilement comprendre la logique du document
dernière chose, les messages d'information est une bonne idée, j'aimerais particulièrement comprendre cette formule
=SI(NB.SI(D9:D14;"<>")>0;SI(NB.SI.ENS(D9:D14;"<>";E9:E14;TD_VIANDE)+NB.SI.ENS(D9:D14;"<>";E9:E14;TD_POISSON)<2;"Les plats chauds ne comportent pas une viande ET un poisson";SI(NB.SI.ENS(D9:D14;"<>";E9:E14;TD_LEGUMES)=0;"Le plat chaud ne comporte pas de légumes";""));"")
si vous pouviez plutôt intégrer 4 messages :
Les plats chauds ne comportent pas de viande
Les plats chauds ne comportent pas de poisson
Les plats chauds ne comportent pas de légume
Les plats chauds ne comportent pas de féculent
Ha, et je viens de me rendre compte que si une entré est particulièrement longue, elle sort de la feuille dans menu_a_imprimer. serait-ce possible de forcer un retour a la ligne ?
peut etre que je vous en demande beaucoup, en tout cas, merci, votre travail est précieux pour moi.
Ok, je ferai les modifs demain en fin de journée.
Bonjour dicyce,
J'ai fait les modifications souhaitées et j'ai inclus des explications dans la feuille "Paramètres".
La logique générale : les saisies faites dans "MENU" sont repositionnées dans l'onglet "menu_à_imprimer",
- - à l'aide du tableau en colonnes O à T qui recalculent les lignes réellement renseignées par pavé dans MENU et qui recalculent pour "menu_à_imprimer" les lignes où ces pavés devront figurer.
- à l'aide du tableau en colonnes D à M qui assure la conversion des n° de lignes MENU en lignes menu_à_imprimer et qui récupère les données via a fonction INDIRECT en utilisant la référence (en lettre) de la colonne du tableau et le n° de ligne source.
- Dans l'onglet menu_à_imprimer, il est simplement fait référence à chaque cellule du tableau décrit au point 2.
Pour les contenus qui dépassent des cellules. Avant d'imprimer ou pour vérifier le menu, il faut sélectionner toute la feuille (petit triangle au-dessus des n° de lignes et des références des colonnes) puis dans la zone des n° de lignes, double-cliquer à l'intersection entre deux n° de lignes. La hauteur des lignes s'ajustera automatiquement au contenu et il est toujours possible d'ajuster la hauteur des lignes manuellement si l'ajustement automatique n'est pas satisfaisant. La feuille est protégée (sans mot de passe) mais j'ai coché "Format de ligne".
Je te laisse vérifier que cela fonctionne comme attendu et si c'est le cas, rentrer dans la mécanique du fichier. Si besoin, n'hésites pas.
Et bien! on frise le perfection!
Une dernière chose, pouvez vous déplacer la ligne corbeille de fruit dans la feuille menu pour qu'elle apparaisse dans une catégorie nommé "autre" en dessous de produit laitier? (sans que cela change sa place dans la feuille "menu à imprimer" c'est à dire au dessus des desserts?
Comme "Corbeille de fruits ne change jamais, j'aimerais ne pas encombrer la cat. dessert.
J'ai essayé de le faire moi même, mais je n'y arrive pas :/
Après ce dernier détaille, je n'aurais plus de raison de vous déranger,
Encore mille fois merci.
Je vous joint le fichier à corriger (j'ai remi les couleurs des jours dans la feuille "menu" et j'ai remis en forme les yaourt et le fromage qui eux non plus ne changeront quasiment jamais, j'ai également déplacé les lignes "le menu de contient pas de ..." dans la feuille paramètre en attendant validation par le chef)
ha! et si vous pouviez aussi faire en sorte que le fichier, au moment de sauvegarder sous, ce renomme automatiquement comme la cellule C3 de la feuille "menu_a_imprimer" ça serait formidable. :s
Pour la corbeille de fruit, ça risque d'être très compliqué ... je vais regarder mais si, comme je le crains, ce ne soit une usine à gaz juste pour gérer une ligne je ne le ferai pas car le fichier sera encore plus difficile à maintenir.
Il ne faut pas déplacer des formules vers la feuille "paramètres", je les ai refaite (le déplacement les a rendu incohérentes) sur la feuille "MENU" et j'ai masqué les lignes. Si l'idée est validée, il suffira de les démasquer et si elle est rejetée, il suffira de les supprimer. Ne pas oublier de remettre la protection sur les feuilles MENU, menu_a_imprimer et Paramètres.
Pour la sauvegarde, c'est possible. Pour que les noms de fichiers soient triés chronologiquement il serait préférable dans le nom du fichier de mettre les dates dans le format AAAA-MM-JJ (dans tous les cas, les / sont interdits dans les noms de fichier et seront remplacés par des -). Dites moi si j'inverse ou non le format des dates dans le nom du fichier et précisez moi également si le fichier est sauvegardé dans le même dossier que le classeur de constitution des menus.
Je comprends
Dans ce cas, serait-il possible de rajouter une ligne dans les catégories "dessert" ?
et pouvez vous cacher le texte des boîtes de dialogue pour la ligne des corbeilles de fruit, tout en la gardant fonctionnel, comme vous l'avez fait pour les produits laitiers?
pour les sauvegardes, serait-ce possible d'avoir un titre de ce style ? "MENUS semaine x (01-01-23 au 05-01-23)" (jj-mm-aaaa) comme ça on garde le tri chronologique.
(le x représentant le numéro de semaine)
on rangerais le fichier dans un dossier nommé "MENUS cantine 2023"
le "classeur de constitution des menus" que j'ai nommé MODELE MENUS est rangé directement sur son bureau.
Une information qui est peut être importante : le fichier ainsi créé est amené à être modifié plusieurs fois, vu qu'il faut que la directrice valide le menu. Avant ça elle opère souvent des changements. Et une fois validé, le chef devra réaliser son coût matière, donc rouvrir le fichier et le modifier encore une fois. ect ect...
Je me demande si il serait pertinent de créer différentes sauvegarde pour chaque changements, ou si on peut se permettre d'écraser l'ancien fichier à chaque modification...
Bonjour dicyce,
J'ai ajouté une ligne de dessert (miam
Pour la sauvegarde, là pas de solution sans VB. J'ai ajouté un bouton "Sauvegarder sous ..." sur l'onglet "MENU". En cliquant dessus, le nom du fichier (au format demandé) est déjà proposé, il ne reste qu'à choisir le dossier de sauvegarde. Le fichier est enregistré au format ".xlsx" (donc sans macro) et le bouton "Sauvegarder sous ..." est supprimé du fichier enregistré. Pour les enregistrements successifs, faire des sauvegardes successives me semble un peu lourd / excessif mais c'est à toi d'en juger.
C'est peut être déjà le cas mais pour éviter toute modification / enregistrement intempestif du fichier "MODELE MENUS", tu pourrais activer l'option "Lecture seule" dans les propriétés du fichier dans l'explorateur de fichiers. En cas de maintenance, il faudra juste au préalable aller décocher l'option. Je te recommande également de masquer la feuille "Paramètres".
Encore mille fois merci :)
Vous avez fait un travail formidable, cela va grandement profiter à notre cantine (et à la secrétaire, si elle accepte de changer ses habitudes)
Juste quelques questions (encore :s)
J'ai suivi votre conseil et j'ai mis le fichier en lecture seule, est ce qu'il gardera cette option une fois sur le pc du chef?
l'ordinateur du chef est connecté sur le réseau de l'école, et je me demande si l'administrateur peut interdire l'execution des macros. Si oui, à votre avis, c'est probable qu'il l'ait fait?
Vous avez caché les cellules contenant "les plat chaud ne contiennent pas de..." et je n'arrive pas a trouver la manip pour les révéler.
J'ai réorganisé les feuilles "cout matiere", "composition" et "poids matiere", et je me disais qu'il serait bien que, dans la feuille composition, les lignes ne contenant pas de valeur disparaissent, pour éviter de scroller inutilement. vous pensez que c'est réalisable facilement? (je ne veux pas abuser de votre gentillesse)
J'ai fait ce classeur pour aider mon chef, qui ne s'occupe de la gestion que depuis peu, je me demande encore si toutes les feuilles sont pertinente, je veux bien votre avis la dessus. c'est la directrice qui à demandé le détail des plat, d'ou la feuille composition. La feuille coût matière existe car c'était la façon de calculer son cout de la semaine avant qu'il accepte que je l'aide... bref si vous avez des remarques je suis preneur :)
En tout les cas, je vous remercie encore chaudement, je n'y serais jamais arrivé sans vous.
PS : je vous joint un fichier avec mes dernière modification, si jamais j'ai glissé des erreurs...