Impression + Mise en page automatique
Bonjour,
J'ai un classeur Excel possédant plusieurs feuilles.
Serait-il possible de créer une macro qui analyserait une plage de cellule et lorsqu'il y a un "0" cette colonne soit effacée afin d'adapter la feuille pour l'impression.
Il faudrait également que les hauteurs des lignes soient adaptées au mieux pour l'impression.
Le fichier en PJ:
Exemple :
Si il y un "0" dans la plage de cellule "A56;BF56" et "A93;BF93" alors cette colonne devra être supprimé.
L'impression devra se faire sur feuille A3 en mode paysage et devra tenir sur une seule feuille.
Merci pour vos réponses.
Salut,
Dans le fichier ci-joint, je te propose une macro qui masque les colonnes dont les cellules des lignes 56 et 93 indiquent 0 avant d'imprimer et qui ouvre à nouveau ces colonnes à la fin de l'impression. Sur la feuille ''Lundi'', le résultat est clair, sur la feuille ''Mardi'', je ne sais pas s'il y a réellement des colonnes où les cellules des lignes 56 et 93 sont vites conjointement.
Cette macro n'est prévue que pour les feuilles ''Lundi'' et ''Mardi'' de ton fichier. Si tu doit imprimer parfois la feuille ''Menu du ... au ...", il faudrait modifier la macro afin que ça ne s'applique pas à cette feuille (et éventuellement à d'autres feuilles que tu ne m'aurais pas montrées).
Dans ton fichier modèle, tu as parfois des formules qui sont effacées dans la ligne 93 (par exemple Q93 de la feuille ''Lundi'' et ces colonnes sont ignorées tout comme tes colonnes grisées (colonnes G, Y, etc. de la feuille ''Lundi'').
Les autres paramètres d'impression doivent être selon moi placé dans le fichier lui-même.
Cordialement.
Salut Yvouille, merci de ta réponse.
J'ai testé ton fichier en l'imprimant dans un PDF et c'est exactement le résultat attendu. (Juste une petite adaptation du code, cellule "57" et non "56")
Dans mon classeur effectivement il y a une seule feuille à masquer, celle du "menu qui se trouve en première position. Et il possède également d'autre feuilles qu'il faut adaptées pareil... Tous les jours de la semaine. (Je peux te transmettre une copie en privé si tu veux).
Dans ton fichier modèle, tu as parfois des formules qui sont effacées dans la ligne 93 (par exemple Q93 de la feuille ''Lundi'' et ces colonnes sont ignorées tout comme tes colonnes grisées (colonnes G, Y, etc. de la feuille ''Lundi'').
Normalement le fichier source (la matrice que j'améliore quotidiennement en fonction du besoin) détient cette formule, mais il peut y arriver que celle-ci soit effacée accidentellement. Est-il possible de masquer également celle-ci lors de l'impression?
J'ai réfléchi à une autre solution, car les feuilles à imprimer se décomposent en 3 catégories : ( mais le soucie c'est que ces plages risques de variés, soit par rajout d'une colonne par l'utilisateur peut importe la catégorie, soit par suppression par le code VBA s'il y a un "0")
- les entrées de "B" à "I"
- Les plats de "K" à "AL"
- Et enfin les desserts de "AN" à "BD2"
Cette solution consisterait à rajouter trois macro unes par catégorie afin de les imprimer séparément et ajuster au mieux au format A3 en mode portrait (je peux te transmettre les résultats attendus en MP?)
Salut,
Tu demandes si c'est possible de masquer également certaines colonnes à l'impression. Il me semble que oui, il faudrait juste chercher de quelle manière.
Mais tu continues en préconisant une autre solution ! Je n'ai alors pas l'envie de chercher à résoudre ton premier problème, si tu changeras quand même d'idée et je n'ai pas trop l'envie de te suivre dans tes recherches futures, si ton fichier n'est pas si abouti.
Décide-toi sur la solution qui te semble être la solution finale et reviens sur d'autres fils poser tes questions les unes après les autres, de manière bien séparée, de manière à ne pas décourager la personne qui veut bien t'aider gratuitement.
Cordialement.