L
Lucko
Guest
Bonjour,
Je m'appelle lucko. Je suis nouveau ici et je ne suis pas un expert en VBA mais j'aime bien Excel. À partir de codes trouvés sur Internet, je me suis bricolé un fichier de type keno à des fins de formation sur Excel. Après avoir lancé la macro un certain temps, le fichier fige et me renvoie un code d'erreur en soulignant en jaune tantôt tirage, tantôt erase v ( à tour de rôle). Je ne sais pas comment le corriger. Dès lors, la macro bloque. Y-a-t-il un moyen de régler le problème. Ci-joint le code et le fichier en question. De plus, y aurait-il une façon d'intégrer un compteur de tours pour connaître le nombre de fois que la macro a tourné avant de trouver la réponse recherchée. Merci.
Sub Tirage1()
Range("E8:N8").ClearContents
Tirage
End Sub
Sub Tirage2()
Dim ofs&, T
With [E8]
If Not IsEmpty([E8]) Then
T = .Value
.Cells = Empty
ofs = .End(xlUp).Offset(1).Row - 9
.Value = T
End If
End With
If ofs < 10 Then Tirage ofs
End Sub
Sub Tirage(Optional ofs&)
Dim i&, j&, n&, T, p(), v(), Cel As Range
Randomize
p = Array(Array("E2:N6", "E8:N8"))
For j = 0 To UBound(p)
For Each Cel In Range(p(j)(0))
If Not IsEmpty(Cel) Then n = n + 1: ReDim Preserve v(1 To n): v(n) = Cel.Value
Next
For i = n To 2 Step -1
T = v(1): v(1) = v(1 + Int(n * Rnd)): v(1 + Int(n * Rnd(0))) = T
Next
ReDim Preserve v(1 To 10)
Range(p(j)(1)).Offset(ofs) = v
Erase v
n = 0
Next
End Sub
Sub Recherche()
Dim ind As Integer
Do
Tirage
Loop Until ([d10]) >= ([T7])
End Sub
Je m'appelle lucko. Je suis nouveau ici et je ne suis pas un expert en VBA mais j'aime bien Excel. À partir de codes trouvés sur Internet, je me suis bricolé un fichier de type keno à des fins de formation sur Excel. Après avoir lancé la macro un certain temps, le fichier fige et me renvoie un code d'erreur en soulignant en jaune tantôt tirage, tantôt erase v ( à tour de rôle). Je ne sais pas comment le corriger. Dès lors, la macro bloque. Y-a-t-il un moyen de régler le problème. Ci-joint le code et le fichier en question. De plus, y aurait-il une façon d'intégrer un compteur de tours pour connaître le nombre de fois que la macro a tourné avant de trouver la réponse recherchée. Merci.
Sub Tirage1()
Range("E8:N8").ClearContents
Tirage
End Sub
Sub Tirage2()
Dim ofs&, T
With [E8]
If Not IsEmpty([E8]) Then
T = .Value
.Cells = Empty
ofs = .End(xlUp).Offset(1).Row - 9
.Value = T
End If
End With
If ofs < 10 Then Tirage ofs
End Sub
Sub Tirage(Optional ofs&)
Dim i&, j&, n&, T, p(), v(), Cel As Range
Randomize
p = Array(Array("E2:N6", "E8:N8"))
For j = 0 To UBound(p)
For Each Cel In Range(p(j)(0))
If Not IsEmpty(Cel) Then n = n + 1: ReDim Preserve v(1 To n): v(n) = Cel.Value
Next
For i = n To 2 Step -1
T = v(1): v(1) = v(1 + Int(n * Rnd)): v(1 + Int(n * Rnd(0))) = T
Next
ReDim Preserve v(1 To 10)
Range(p(j)(1)).Offset(ofs) = v
Erase v
n = 0
Next
End Sub
Sub Recherche()
Dim ind As Integer
Do
Tirage
Loop Until ([d10]) >= ([T7])
End Sub