délimiter zone de tirage aléatoire

mgrizzly

XLDnaute Junior
Bonjour,
Ce code tire aléatoirement 3 cellules parmis celle qui ont un 1 dedans seulement il tire ces 3 cellules parmis les lignes de 9 à 59.
Je voudrais qu'il puisse en tirer 3 parmis les lignes 9 à 24, 3 parmis les lignes 25 à 41 et 3 parmis les lignes 42 à 59.
Il doit tirer ces 9 cellules en même temps.

Voici mon code :

Sub FIP_AIP_MUSC()

Dim x As Integer, c As New Collection
'Initialise le générateur de nombres aléatoires
Randomize
'boucle, tant que le nombre d'item de la collection est inférieur à 3
Do While c.Count < 3
'détermination d'un nombre aléatoire de 9 à 59
x = Int(51 * Rnd + 9)
'test si la cellule de la ligne déterminée par x est égale à 1
If Cells(x, 3) = 1 Then
'empêche message d'erreur si la cellule à déjà été trouvé
On Error Resume Next
'utilisation d'une collection pour stocker les cellules trouvées
c.Add Cells(x, 3).Address, CStr(Cells(x, 3).Address)
'si pas d'erreur, on pourrait d'ailleurs se passe de ce test, coloriage de la cellule
If Err = 0 Then Cells(x, 3).Interior.ColorIndex = 3
End If
Loop
'réinitialisation du gestionnaire d'erreur
On Error GoTo 0

End Sub

Merci de m'aider.
 

Discussions similaires

Réponses
4
Affichages
168

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 111
dernier inscrit
Eric68350