Function GeneratePassword(ByVal Length As Integer, ByVal UChars As Boolean, ByVal LChars As Boolean, ByVal Numbers As Boolean, Optional ByVal PersonnalChars As String = vbNullString) As String 'Length -> taille désirée 'UChars -> piocher dans l'alphabet majuscule 'LChars -> piocher dans l'alphabet minuscule 'Numbers -> piocher dans les chiffres 'PersonnalChars -> piocher dans une série de caractères fournis 'GeneratePassword -> retourne la chaîne de résultat Dim sChars As String Dim i As Integer If Length > 0 Then Randomize Timer 'cette ligne peut être appelée juste une fois au démarrage de l'appli, pas besoin dans la fonction sChars = PersonnalChars If LChars Then sChars = sChars & "azertyuiopqsdfghjklmwxcvbn" If UChars Then sChars = sChars & "AZERTYUIOPQSDFGHJKLMWXCVBN" If Numbers Then sChars = sChars & "0123456789" If LenB(sChars) Then GeneratePassword = Strings.Space$(Length) For i = 0 To Length - 1 Mid$(GeneratePassword, i + 1, 1) = Mid$(sChars, Int((Rnd * Len(sChars)) + 1), 1) Next i End If End If End Function ' --------------------- ' EXEMPLE D'UTILISATION ' --------------------- Private Sub Command1_Click() Me.Cls Me.Print GeneratePassword(4, True, False, False) ' majuscules seulement Me.Print GeneratePassword(4, False, True, False) ' minuscules seulement Me.Print GeneratePassword(4, False, False, True) ' chiffres seulement Me.Print GeneratePassword(4, True, True, False) ' maj + Min Me.Print GeneratePassword(4, True, False, True) ' maj + chiffres Me.Print GeneratePassword(4, False, True, True) ' Min + chiffres Me.Print GeneratePassword(4, True, True, True, "*@<>") ' maj + Min + chiffres + persos End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.