'Nombre aléatoire pour la ligne
Randomize ' Initialise le générateur de nombres aléatoires.
' Renvoie une valeur aléatoire comprise entre 1 et 1000.
'MyValue0 = Int((y * Rnd) + 3) 'voir si le calcul de MyValue génère ou pas des erreurs avec un MyValue > à la dernière ligne
MyValue = Int((Y - 4) * Rnd + 3)
If MyValue < 3 Then
MyValue = (3 - MyValue) + MyValue
Else
End If
'Nombre aléatoire pour la colonne
Randomize ' Initialise le générateur de nombres aléatoires.
' Renvoie une valeur aléatoire comprise entre 1 et 2.
MyValue2 = Int((2 * Rnd) + 1)
Set Hasard = Zone.Find(Cells(MyValue, MyValue2), LookIn:=xlValues, Lookat:=xlWhole) If Not Hasard Is Nothing Then
Hasard.Select
Else
End If
....
Dans 90% des cas ma recherche (set Hazard) fonctionne, mais parfois sans aucune raison elle se met à bloquer? et une erreur 1008 apparaît je crois.
Pourriez-vous s'il vous plaît m'expliquer pour pourquoi?
S'il s'agit de sélectionner une cellule dans la plage A3:B & derniere ligne
Code:
Sub Hasard()
Dim dl%, x%, y%
With Sheets("Feuil1")
.Activate
dl = .Range("A65000").End(xlUp).Row
Randomize
x = Int((dl - 4) * Rnd + 4)
y = Int((2 * Rnd) + 1)
.Cells(x, y).Select
End With
End Sub