Bonjour à tous,
J'ai créé une routine pour générer des mots passe, mais j'ai l'impression que cette routine ressort régulièrement les même mots de passe.
Sur 13817 générations, je ressors 2225 mots de passe différents (uniques). (tri sur doublons)
Qu'en pensez-vous ? Est-ce normal? Puis-je avoir plus de probabilité de générer des mots de passe différents ?
Les mots de passe générés sont volontairement composés de 6 lettres minuscules et 2 chiffres.
	
	
	
	
	
		
Par avance, je vous remercie.
	
		
			
		
		
	
				
			J'ai créé une routine pour générer des mots passe, mais j'ai l'impression que cette routine ressort régulièrement les même mots de passe.
Sur 13817 générations, je ressors 2225 mots de passe différents (uniques). (tri sur doublons)
Qu'en pensez-vous ? Est-ce normal? Puis-je avoir plus de probabilité de générer des mots de passe différents ?
Les mots de passe générés sont volontairement composés de 6 lettres minuscules et 2 chiffres.
		Code:
	
	
	Dim TabCarNum, TabCarMin, mdp, Lettre As String
Dim NbAleat, NbAleat2, i, NbChoix, Passage_En_Chiffre, Passage_En_Lettre As Integer
TabCarNum = "1234567890"
TabCarMin = "abcdefghijklmnopqrstuvwxyz"
mdp = ""
Passage_En_Chiffre = 0
Passage_En_Lettre = 0
Do While Len(mdp) < 8
    Randomize
    NbChoix = Int(2 * Rnd) + 1
     If NbChoix = 1 Then 'lettre
      If Passage_En_Lettre < 6 Then
       Passage_En_Lettre = Passage_En_Lettre + 1
       Randomize
       NbAleat = Int(26 * Rnd) + 1
       Lettre = Mid(TabCarMin, NbAleat, 1)
       mdp = mdp & Lettre
      Else
       Passage_En_Chiffre = Passage_En_Chiffre + 1
       Randomize
       NbAleat = Int(9 * Rnd) + 1
       mdp = mdp & NbAleat
      End If
     ElseIf NbChoix = 2 Then 'chiffre
       If Passage_En_Chiffre < 2 Then
        Passage_En_Chiffre = Passage_En_Chiffre + 1
        Randomize
        NbAleat = Int(9 * Rnd) + 1
        mdp = mdp & NbAleat
       Else
        Passage_En_Lettre = Passage_En_Lettre + 1
        Randomize
        NbAleat = Int(26 * Rnd) + 1
        Lettre = Mid(TabCarMin, NbAleat, 1)
        mdp = mdp & Lettre
       End If
     End If
Loop
debug.print mdp
	Par avance, je vous remercie.
	