Problème de code vba

JORDAN

XLDnaute Impliqué
Bonsoir tout le monde, le Forum,

Avec le code ci-dessous je trouve des nombres aléatoires
J'ai voulu ajouter une ligne pour supprimer certains nombres mais comment
faire pour revenir en arrière dans la boucle si par exemple le nombre aléatoire
est égal à 2 ?? (et avoir la continuité du "Numero(k)" )
Parceque mon "Then Return" ne vaut rien

Merci pour votre aide et bonne soirée

Code:
Public Numero() as Integer

Sub TEST()
Dim K As Integer
ReDim Numero(Niv + 2)

For K = 1 To Niv + 2
    Numero(K) = Int((Rnd * Niv + 2) + 1)
    If Numero(K) = 2 Or Numero(K) = 6 Or Numero(K) = 7 Or Numero(K) = 8 Or Numero(K) = 9 Or Numero(K) = 12 Or Numero(K) = 13 Or Numero(K) = 15 Or Numero(K) = 16 Or Numero(K) = 18 Then Return
    Cells(10, K) = Numero(K)
Next K
End Sub
 

CBernardT

XLDnaute Barbatruc
Re : Problème de code vba

Bonjour Jordan et le forum,

J'ai donné une valeur arbitraire de 8 à la variable Niv qu'il faut définir.

Attention à certains mots reconnus comme fonction qui entraînent des bugs...

Option Explicit
Public Numero() As Integer

Sub TEST()
Dim K As Integer, Niv As Integer
Niv = 8

ReDim Numero(Niv + 2)
For K = 1 To Niv + 2
Retour:
Numero(K) = Int((Rnd * Niv + 2) + 1)
If Numero(K) = 2 Or Numero(K) = 6 Or Numero(K) = 7 Or Numero(K) = 8 Or Numero(K) = 9 Or Numero(K) = 12 Or Numero(K) = 13 Or Numero(K) = 15 Or Numero(K) = 16 Or Numero(K) = 18 Then GoTo Retour

Cells(10, K) = Numero(K)
Next K
End Sub

Cordialement

Bernard
 

Discussions similaires

Réponses
23
Affichages
2 K

Statistiques des forums

Discussions
314 094
Messages
2 105 796
Membres
109 431
dernier inscrit
jalilox25