Rapport de message :*
 

Re: Analyse combinatoire

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(ArrangementvbNullString' Mise en mémoire pour éviter la répétition
    Candidat = Chr(65 + Int((Rnd * 26))) ' 
Première tentative
    Position 
InStr(LettresCandidat)
    
    
' 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