This thread may have some helpful suggestions: Randomisation between and within loops without repetition