9632AS – Programming skills for businesses
Stephane Ruchet – 1 –
PROJECT
This tool aims to create a menu generator tool. A database of over 2’700 courses is at your disposal, grouped in 8
different courses.
43 background pictures (with miniatures) are at your disposal. 5 fields (address, date, title, price & word from the
chef) can be displayed. The menu can be composed of 8 courses, but due to size constraints (A4 sheet), not all courses
will be enabled at once. One can select a course, or a random course will be selected. 4 settings can be applied to the
font of your menu. Finally, a background image picker will display or not an image on your menu.
A PDF, Print and Save button completes this tool.
An example of a menu:
addressTextBox
dateTextBox
titleTextBox
menuTextBox
priceTextBox
wordChefTextBox
Victoria Wong
9632AS – Programming skills for businesses
Stephane Ruchet – 2 –
TextBoxes
addressForm
This form will update the “addressTextBox” in the menu:
DateForm
The field “otherDateTextBox cannot be accessible unless “other date” button is activated.
addressCheckBox / addressButton
dateCheckBox / dateButton
titleCheckBox / titleButton
priceCheckBox / priceButton
wordChefCheckBox / wordChefButton
todayButton
tomorrowButton
otherDateButton
otherDateTextBox
addressTextBox
closeButton / saveButton
9632AS – Programming skills for businesses
Stephane Ruchet – 3 –
TitleForm
PriceForm
wordChefForm
titleTextBox
closeButton / saveButton
priceTextBox
closeButton priceTextBox / saveButton
wordChefTextBox
closeButton / saveButton
9632AS – Programming skills for businesses
Stephane Ruchet – 4 –
Selection of courses
soupCheckBox
saladCheckBox
meatCheckBox
fishCheckBox
miscCheckBox
startchCheckBox
veggieCheckBox
dessertCheckBox
soupComboBox
saladComboBox
meatComboBox
fishComboBox
miscComboBox
startchComboBox
veggieComboBox
dessertComboBox
soupRandomButton
saladRandomButton
meatRandomButton
fishRandomButton
miscRandomButton
starchRandomButton
veggieRandomButton
dessertRandomButton
randomAllButton
Text
The font size cannot go below 7 or above 33.
fontTextBox / fontButton
downSizeButton / upSizeButton
boldButton
italicButton
9632AS – Programming skills for businesses
Stephane Ruchet – 5 –
Background
cancelButton / saveButton
backgroundCheckBox / backgroundButton
previousBackground / nextBackground
Each « rectangle » is a « Control ». There are 86 controls:
the first 43 (Image1, Image2…) are just green rectangles,
the following 43 images (Image 44, … Image 86) are
loaded with the 43 images you can find in the
« img_mini » folder.
9632AS – Programming skills for businesses
Stephane Ruchet – 6 –
There are two final buttons: export the menu to a PDF file. The filename will be Menu_dd.mm.yy.pdf, where
dd.mm.yy corresponds to the date of the menu. The PDF file will be stored in a « menu » folder at the same location
of the macro file, regardless of where the macro file is located on the computer (on the desktop, in the document
folder, etc…).
The print button will automatically send a print job to the printer, printing only the menu area.
Final instructions
• Please read again and again my instructions, including the video recording that you can find on LMS
(beginning of week 5)
• You have until the 7th of November at 18h00, to upload your file.
• 0.1 points of your grade will be deducted for every 20 minutes past the deadline.
• Your macro must run regardless of the name of the spreadsheets.
• Option Explicit must be enabled on all your pages.
• The dropdown lists must always be up to date. If I add a course, the added course must be in the dropdown
list the next time the excel file is opened
• Make sure that every time your file is opened, gridlines, heading and the formular bar are disabeled.
• Upload your assignment through LMS. Rename your file with the following syntax:
o One student on a PC: jaggi_florent_PC.xlsm
o Two students on a MAC: jaggi_forent-antoine_rossier_MAC.xlsm
Recommendations
Software programming is all about solving smaller problems before going for the tougher ones. Take some time to get
your ideas in place, scribble a few things on a piece of paper (we call it “pseudocode”) before diving into the VB editor
and losing maybe precious time.
If you get stuck on one issue for a long period, stop! Move on to another task and ask for help. Please send me your
file, screenshots and if you need a meeting, share your availability.
Always tell yourself that in programming, there is always someone that wrote an example of the code you need
����.
You can find probably 80% of this project’s code somewhere in the topics we have covered in-class activities but more
importantly in exercises. Of course, Google is your friend.
But there is a limit to all this. Too much information is bad information, and you can find a lot of incorrect information
on the internet (for example a code that would work in Excel 2010 but not 2019). You might spend more time trying
to understand or trying to debug an example that you think might help you than trying to do it yourself.
Work in teams! Exchange and argument your ideas. I encourage you to help one and another, but in the end, I want to
see your ideas and your work. I will compare codes using a system similar to Turnitin.
Very important: I hope you will enjoy the challenge and I am looking forward to seeing your work
����.
TextBoxes
addressForm
DateForm
PriceForm
wordChefForm
Selection of courses
Text
Background
Final instructions
Recommendations