Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[Résolu] Générateur de mots de passe


Messages recommandés

Posté(e)

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,

Posté(e)

oui

 

 

 

cela ne faisait qu'une vérif.

 

mais voici le code modifier pour remplacer les charactères non voulues.

 

 

 

Sub TestPassword()

' pour utiliser avec la function de sebdralurog regarde ce qui est noter *1
' tu insert le code qui suit avant "GeneratePassword = Password"
' et "GeneratePassword = Password" devient "GeneratePassword = PasswordModif"

Dim ValPassword '*1 a supprimer
Dim VerifText As Boolean
Dim verifNb As Boolean
Dim Ctrl
Dim PasswordModif As String


ValPassword = InputBox("ess") '*1 a supprimer (pour tester only)

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

MsgBox PasswordModif ' *1 a supprimer (pour tester only)

End Sub

 

 

 

A+

Posté(e) (modifié)

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

Modifié par ilanb
Posté(e)

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

Posté(e)

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

  • Tonton a modifié le titre en [Résolu] Générateur de mots de passe

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...