Dim TabCarNum, TabCarMin, mdp, Lettre As String
Dim NbAleat, NbAleat2, i, NbChoix, Passage_En_Chiffre, Passage_En_Lettre As Integer
Dim Chiffre As Byte
 
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(10 * Rnd) + 1
        Chiffre = Mid(TabCarNum, NbAleat,1)
        mdp = mdp & Chiffre
       End If
      ElseIf NbChoix = 2 Then 'chiffre
        If Passage_En_Chiffre < 2 Then
         Passage_En_Chiffre = Passage_En_Chiffre + 1
         Randomize
         NbAleat = Int(10 * Rnd) + 1
         Chiffre = Mid(TabCarNum, NbAleat,1)
         mdp = mdp & Chiffre
        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