Aller au contenu

ilanb

Membres
  • Compteur de contenus

    6
  • Inscription

  • Dernière visite

ilanb's Achievements

Junior Member

Junior Member (3/12)

0

Réputation sur la communauté

  1. Après relecture de tes instructions et quelques changements, toujours erreur de compilation: Private Function GeneratePassword(ByVal PasswordLenght As Byte) As String Dim b As Byte Dim i As Byte Dim i2 As Byte Dim s As String Dim Password As String Randomize For i = 1 To PasswordLenght i2 = Int((6 - 2 + 1) * Rnd + 2) If i2 = 4 Then 'genere une lettre majuscule b = CByte((90 - 65 + 1) * Rnd + 65) s = Chr(b) ElseIf i2 = 3 Then ' genere un chiffre b = CByte((57 - 48 + 1) * Rnd + 48) s = Chr(b) Else ' genere une lettre minuscule b = CByte((122 - 97 + 1) * Rnd + 97) s = Chr(b) End If Password = Password & s Next i Sub TestPassword() Dim VerifText As Boolean Dim verifNb As Boolean Dim Ctrl Dim PasswordModif As String a = Len(Password) ' connaitre la longueur du password For i = 1 To a 'faire un boucle sur chaque élément du password Ctrl = Mid(Password, i, 1) ' décomposé le password Verif = Ctrl Like "[a-z]" 'verifie l'appartenance a la plage a - z verifNb = Ctrl Like "#" 'verifie l'appartenance a la plage 0 - 9 If Verif = False And verifNb = False Then 'verifier le resultat Ctrl = Replace(Ctrl, Ctrl, "A") 'pour remplacer les charactères non voulues (ici par A) End If PasswordModif = PasswordModif & Ctrl 'pour reconstituer le password Next End Sub GeneratePassword = PasswordModif End Function
  2. Bon il manqué un bout de code mais j'ai toujours une erreur avec ça : Private Function GeneratePassword(ByVal PasswordLenght As Byte) As String Dim b As Byte Dim i As Byte Dim i2 As Byte Dim s As String Dim Password As String Randomize For i = 1 To PasswordLenght i2 = Int((6 - 2 + 1) * Rnd + 2) If i2 = 4 Then 'genere une lettre majuscule b = CByte((90 - 65 + 1) * Rnd + 65) s = Chr(b) ElseIf i2 = 3 Then ' genere un chiffre b = CByte((57 - 48 + 1) * Rnd + 48) s = Chr(b) Else ' genere une lettre minuscule b = CByte((122 - 97 + 1) * Rnd + 97) s = Chr(b) End If Password = Password & s Next i Sub TestPassword() Dim VerifText As Boolean Dim verifNb As Boolean Dim Ctrl Dim PasswordModif As String a = Len(ValPassword) '*1 (valpassword devient password) connaitre la longueur du password For i = 1 To a 'faire un boucle sur chaque élément du password Ctrl = Mid(ValPassword, i, 1) ' *1 (valpassword devient password) décomposé le password Verif = Ctrl Like "[a-z]" 'verifie l'appartenance a la plage a - z verifNb = Ctrl Like "#" 'verifie l'appartenance a la plage 0 - 9 If Verif = False And verifNb = False Then 'verifier le resultat Ctrl = Replace(Ctrl, Ctrl, "A") 'pour remplacer les charactères non voulues (ici par A) End If PasswordModif = PasswordModif & Ctrl 'pour reconstituer le password Next End Sub GeneratePassword = PasswordModif End Function
  3. Merci scuny, Alors j ai bien suivi tes instructions mais j ai une erreur à la compilation avec: End Sub voila comment j'ai écrit ton code, une erreur de ma part ? Private Function GeneratePassword(ByVal PasswordLenght As Byte) As String Dim b As Byte Dim i As Byte Dim i2 As Byte Dim s As String Dim Password As String Randomize For i = 1 To PasswordLenght i2 = Int((6 - 2 + 1) * Rnd + 2) If i2 = 4 Then 'genere une lettre majuscule b = CByte((90 - 65 + 1) * Rnd + 65) s = Chr(b) ElseIf i2 = 3 Then ' genere un chiffre b = CByte((57 - 48 + 1) * Rnd + 48) s = Chr(b) Else ' genere une lettre minuscule b = CByte((122 - 97 + 1) * Rnd + 97) s = Chr(b) End If Password = Password & s Next i Dim VerifText As Boolean Dim verifNb As Boolean Dim Ctrl Dim PasswordModif As String a = Len(ValPassword) '*1 (valpassword devient password) connaitre la longueur du password For i = 1 To a 'faire un boucle sur chaque élément du password Ctrl = Mid(ValPassword, i, 1) ' *1 (valpassword devient password) décomposé le password Verif = Ctrl Like "[a-z]" 'verifie l'appartenance a la plage a - z verifNb = Ctrl Like "#" 'verifie l'appartenance a la plage 0 - 9 If Verif = False And verifNb = False Then 'verifier le resultat Ctrl = Replace(Ctrl, Ctrl, "A") 'pour remplacer les charactères non voulues (ici par A) End If PasswordModif = PasswordModif & Ctrl 'pour reconstituer le password Next GeneratePassword = PasswordModif End Sub End Function Si je sdupprime End Sub pas d'erreur mais j'ai un #NAME comme résultat Merci pour le coup de main
  4. Merci scuny, Donc je dois mettre le code dans le module c'est bien ça ? Aprés la fonction ou à l'interieur de celle ci ? merci en tout cas de t'être penché sur le cas. J'ai donc testé en ajoutant dans le module sous la fonction mais pas de changement, le script fonctionne bien seul. Par contre ce n'est pas le comportement exact que je souhaite, il faudrais que lors de la générations des mots de passes, les caractères autres que a-z A-Z ou 0-9 soit supprimés et remplacés. Ton scuny ne fait qu'une vérification non ? Merci,
  5. Bonjour tout le monde, sebdraluorg, dans ta solution il reste des caractère du genre { ou : comment les supprimer pour n'avoir que des lettres et des chiffres ? merci en tout cas pour ce scrip bien utile !
×
×
  • Créer...