Setting instruction sheet

Project #4

Setting instruction sheet

Had to learn:

VBA (I knew a little beforehand, but really small stuff compared to what I achieved for them).

The project itself:

Basically had to rework from scratch relatively big scripts.
The scripts were used to lay out information in a way that then allows the user to print sheets of information.
They had something working, but the execution time would be between 15–30 seconds depending on the script that was called, in a local file on a laptop. On a network hosted virtual machine, it would take 3–5 minutes.

After optimisation, the execution time of all the scripts put together was between under a second to a second and a half, depending on which parts of the script you wanted to execute, on a very low power laptop. It was pretty much instantaneous on a virtual machine, which made it faster where it would usually be used.
The scripts had to be understandable by pretty much anyone working in their office (meaning lots of documentation on stuff you typically wouldn't document because straightforward to developers).

I also created a better calling system for them, using a form, instead of the buttons they had lying around in the sheets, each had big “Run this one before running that one, else you'll break everything” warnings, that wasn't convenient at all.

I also made it so that the form would prevent certain settings from being activated if they weren't compatible with something else, based on rules they gave me, this prevents human mistakes.

Of course, as any VBA script made using “Record macro”, the original script would crash at random times, sometimes meaning you'd lose 10+ minutes of work. That's why I made sure my scripts had a 100% success rate (I had them tested and tested them myself over a hundred times).

I asked them a few months afterwards for a follow-up, they said the script had not failed a single time and that they were very pleased with it.

The end product was:

  • Faster
  • More reliable
  • More user-friendly
  • And cleaner both in execution and code

I have to admit being particularly proud of what I managed to make, especially using a language so different from what I'm used to, and also considering everything I had to take into consideration for them.

More about this project

Made using: VBA
Visual Basic for Applications
4 Sub Projects
40 Modules Version

This is basically the same project as the parent project, the only two differences being this one has 40 pages instead of 14, making it way more prone to slowness, the other difference being that the first one has "Units" and the second has "Pages", but that part is insignificant.

Read more about this subproject