éliminer les doublons dans une série de nombres aléatoires

cs_Pensardin Messages postés 2 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 25 septembre 2008 - 28 juil. 2004 à 09:44
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 28 juil. 2004 à 16:36
j'ai besoin d'une série de x nombres aléatoires, tous différents.
Comment faire pour éliminer les doublons, tout en ayant la quantité de nombres requise ?
Merci

2 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
28 juil. 2004 à 10:26
Dim Nb as Long,Result as String, N as Long,T() as Long
Nb = 10  ' On veut dix nombre

Result = vbNullChar
While Nb >0
N = Int(Rnd*100)
If Result Not Like "*" & vbNullChar & CStr(N) & vbNullChar & "*" Then
  Result = Result & CStr(N) & vbNullChar
  N = N - 1
End If
Wend
Result = Mid$(Result,2,Len(result)-2)
T = Split(Result,vbNullChar)


Ca doit le faire normalement

Christophe R.
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
28 juil. 2004 à 16:36
voici le bon code :
Dim Nb As Long, Result As String, N As Long, T() As Long
Nb = 20 ' On veut dix nombre

Result = vbNullChar
While Nb > 0
N = Int(Rnd * 20) + 1
If Not Result Like "*" & vbNullChar & CStr(N) & vbNullChar & "*" Then
    Result = Result & CStr(N) & vbNullChar
    Nb = Nb - 1
End If
Wend
Result = Mid$(Result, 2, Len(Result) - 2)
T = Split(Result, vbNullChar)


Christophe R.
0
Rejoignez-nous