Here is your shuffle code ...
You add an extra item 'vide' at the top (item 1) of the shuffled list.
What does that do to help you?
After shuffling, you call the second procedure, which looks for the 'vide' in item 1 and then immediately decides when it sees it that it should not use the rest of the list.
Here is our Lists FAQ, with some very nice shuffle procedures.

