Complément Macro générateur de mots de passe

Bonjour à tous!

Après quelques recherche, j'ai réussi à obtenir la Macro suivante qui me permets de générer une chaîne de caractères aléatoires de 6, mélangeant minuscules/majuscules/chiffres et avec insertion d'un tirait après le 2e caractère.

Ensuite, j'ai une MsgBox qui s'ouvre et qui demande combien de mot de passe on souhaite avoir.... et c'est là que je bloque?!

Si quelqu'un pouvait me venir en aide en m'expliquant les choix que je peux avoir?

Si vous pouviez me proposer quelques exemples de codes, avec explications que je puisse essayer de comprendre et ainsi continuer d'apprendre le langage Vba?

Un grand merci d'avance pour vos réponse et pour le temps que vous me consacrez!!

Voila mon bout de code

Sub code_alea()

    Randomize

    carac = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789"
    lettre_aleatoire = ""

    For i = 1 To 6
        nombre_aleatoire = Int(Len(carac) * Rnd) + 1
        lettre_aleatoire = lettre_aleatoire & Mid(carac, nombre_aleatoire, 1)
        If i = 2 Then lettre_aleatoire = lettre_aleatoire & "-"

    Next

     MsgBox "Combien de mots de passe, voulez-vous?"

Bonjour,

une possibilité :

Sub npw()
    Dim pw As String, nbpw As Long, i As Long
    Randomize
    nbpw = Application.InputBox("Nombre de pw ?", "Génération de mot de passe", , , , , , 1)
    For i = 1 To nbpw
        pw = code_alea
        ' ici utilisation du pw généré
    Next i
End Sub

Function code_alea() As String
    Dim nbCar As Long, i As Long
    Const carac As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789"
    nbCar = Len(carac)
    For i = 1 To 6
        If i = 2 Then
            code_alea = code_alea & "-"
        Else
            code_alea = code_alea & Mid(carac, Int(nbCar * Rnd) + 1, 1)
        End If
    Next
End Function

J'ai allégé un peu ton code.

eric

Bonjour eric!

Merci pour ce code.... Mais en revanche la MsgBox s'ouvre bien pour me demander cb de Pw je veux mais ensuite il se passe rien??

Bonjour

Un essai

96mot-de-passe.xlsm (21.41 Ko)

Bonjour gmb!!

Ah pas mal du tout ton fichier^^ j'aime beaucoup les choix qui sont proposés!!

En revanche serait il possible d'avoir quelques commentaires sur le code? Pour essayer de comprendre et ainsi progresser!!

Et deuxième petite chose!! On garde le même principe juste petite modification à la fin... que la liste des mdp soient copiée sur la feuille directement, que je puisse les exploiter^^

MERCI d'avance....

mais ensuite il se passe rien??

Il se passera ce que tu mettras à la place du commentaire ' ici utilisation du pw généré vu que tu ne dis pas ce que tu comptes en faire...

eric

Ah ok..... bin en fait je voudrais qu'une fois le nombre de mot de passe est choisi, le listing soit généré sur la feuille active par exemple

C'est à dire: je rentre le nombre 10. et là 10 mots de passe différents sont générés et copiés sur la feuille!

C'est possible?

Merci

Re bonjour

Il n'y a qu'à demander !

Re,

et pour l'autre version :

Sub npw()
    Dim nbpw As Long, lig As Long
    Randomize
    nbpw = Application.InputBox("Nombre de pw ?", "Génération de mot de passe", , , , , , 1)
    [A:A].ClearContents
    For lig = 1 To nbpw
        Cells(lig, 1) = code_alea
    Next lig
End Sub

Function code_alea() As String
    Dim nbCar As Long, i As Long
    Const carac As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789"
    nbCar = Len(carac)
    For i = 1 To 6
        If i = 2 Then
            code_alea = code_alea & "-"
        Else
            code_alea = code_alea & Mid(carac, Int(nbCar * Rnd) + 1, 1)
        End If
    Next
End Function

eric

Merci à tous les 2 pour votre aide!!

Je vais me pencher sur le code de gmb et surtout toutes ses explications pour tenter de progresser!!

Et je pense qu'un mix des 2 pourrait faire un truc bien sympa...

Encore un GRAND MERCI à vous et bonne journée

Rechercher des sujets similaires à "complement macro generateur mots passe"