Titre du sujet : Re: Analyse combinatoire par Guy le 14/06/2008 11:52:48
À tout hasard,
Public Function ArrangeMoiCa(NombreDeLettres As Long) As String
Dim Lettres As String
Dim Candidat As String
Dim I As Long
Dim Position As Long
Dim Arrangement() As String
ReDim Arrangement(NombreDeLettres - 1)
' Première Lettre
Arrangement(0) = Chr(65 + Int((Rnd * 26)))
Do While I < NombreDeLettres - 1
I = I + 1 ' Index de la prochaine Lettre
Lettres = Join(Arrangement, vbNullString) ' Mise en mémoire pour éviter la répétition
Candidat = Chr(65 + Int((Rnd * 26))) ' Première tentative
Position = InStr(Lettres, Candidat)
' Tant que la Lettre est déja dans la chaîne, on en change.
Do While Position <> 0
Candidat = Chr(65 + Int((Rnd * 26)))
Position = InStr(Lettres, Candidat)
Loop
' En vlà une bonne
Arrangement(I) = Candidat
Loop
' La chaîne est complète, on la retourne
ArrangeMoiCa = Join(Arrangement, vbNullString)
End Function
|