Code non fiable

POWO

XLDnaute Junior
Bonjour à tous!!

Je commencerai par dire wouahhou!!! pour cette nouvelle version du site!!! C'est beau...

Maintenant voilà mon problème. Ci-dessous une partie du code utilisé:

Dim Hasard As Range
Dim Hasard2 As Range
Dim Zone As Range
Dim Y As Integer
Dim MyValue As Integer
Dim MyValue2 As Integer

Worksheets("Feuil1").Select
Range("A3").Select
Selection.End(xlDown).Select

Set Zone = Range(Selection, "B3")

Y = Selection.Row

'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?

Merci d'avance pour votre aide.
 

kjin

XLDnaute Barbatruc
Re : Code non fiable

Bonjour,
Penses à utiliser les balises pour le code, merci
Si tu nous expliquais le but de cette macro car le code est pour le moins étonnant

Code:
Worksheets("Feuil1").Select
Range("A3").Select
Selection.End(xlDown).Select
Set Zone = Range(Selection, "B3")
Y = Selection.Row
:confused::confused:
Code:
Set Hasard = Zone.Find(Cells(MyValue, MyValue2), LookIn:=xlValues, Lookat:=xlWhole)
:confused::confused:
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
A+
kjin
 

Discussions similaires

Réponses
1
Affichages
249

Statistiques des forums

Discussions
312 329
Messages
2 087 325
Membres
103 516
dernier inscrit
René Rivoli Monin