Excel Roulette Simulator

I created this some years ago as an aid to generating roulette results datasets. It's an Excel file and is powered by VBA code and the random number generator built in to Excel. In short it fulfills two functions:

  • It can generate up to 1,000,000 random roulette results. Useful if you need a dataset against which to analyse the impacts of adopting any particular approach to playing.

  • Provides a platform on which to simulate a given volume of play (up to 1,000,000 trials) for any given approach or "system".

It will be necessary to write the VBA code to replicate the betting and payout actions for any system, and this work will be as simple or complex as the approach or system to be simmed. The file already contains ten pre-written "systems" to play with:

  • UK-21's "Being Sociable" system.

  • Mrs UK-21's favourite six numbers.

  • Split numbers - 22 & 23.

  • Martingale - betting Red

  • Labouchere - (1,2,3,4) betting Odd.

  • Reverse Labouchere (all six evens payouts options).

  • Balvinder Sambhi's 28 steps.

  • Black if the last four spins are all Red.

  • One chip, straight up, on each of the last 12 numbers spun.

  • One chip on each of three streets from each of the last two dozens spun.


The Reverse Labouchere is the system that Norman Leigh used with his team in his attempt to bankrupt the casino at Nice in 1966. It was applied to all six of the evens-payout bets simultaneously. If you run a simulation of ten thousand trials (around 250 hours, or twenty long days, of play) with a starting bankroll of £12,000, set the "Terminate if Bankroll exhausted?" option to "Yes", and then examine the results you'll see why he and his wife returned home broke.

The "Split numbers - 22 & 23" system I've included as a simple example of what's needed to code the placebets and payout routines for a single bet, flat-betting system. This is a basic bet of a single unit on the 22/23 split, and where 22 or 23 is the winning number the payout routine makes the correct payoff (at 17-1). If you examine the VBA code it should be fairly clear how it works.

The rest are variations on progressions of one sort or another - and so the coding requires keeping a local count of past spins, results, wins or losses, etc in order that these can act as conditions that dictate the next bet or bets. This is where it starts getting more complex.

It's not necessary to be able to code in VBA in order to generate a dataset of roulette results, but in order to get the maximum benefit from this tool I highly recommend learning how to do it. Why not start with something simple (ie a single unit bet on a line bet of three numbers) and then progress to two, and then three, stage progression bets, ie if the last bet was a win, repeat it with double the number of units?

Here's the file to download. Enjoy!

Roulette-Simulator Ver 1.09 (Build 57) 9 Jul 2020