Code chiffre/lettre aléatoire VB ou PHP

Résolu
Bonjour, je cherche quelqu'un qui pourrait me fournir un code source VBA ou PHP qui consisterai à généré un mot de passe aléatoire constituer de 8 caractéres : un chiffre entre 0-9 , une lettre au hasard , une autre lettre au hasard , encore une lettre au hasard , un nombre entre 40-99 et un autre nombre entre 0-99.

Par exemple :

8 e a g 68 45

Cordialement , merci d'avance =)

10 réponses

  1. Non je ne pense pas que se soit si compliquer que sa ^^' Je suis voyez-vous dans un petit centre d'éducation et je souhaiterai que mes élèves se servent de ce générateur pour créer leurs premiers compte laposte.net , je leurs fait utilisé un générateur tous simplement pour qu'ils prennent l'habitude de ne pas utilisé des mots de passes bidons , car beaucoup de jeune se font piraté leurs comptes parce-qu'il ont mi un mot de passe trop facile à deviner .... En VB ce serait mieux car cela ferais une petite application que je ne serai pas forcément obliger de mettre sur le réseau du cadre d'éducation de base informatique ...

    Cordialement .
    1. c'est dans le cadre de quel genre de projet ? ça m'as pas l'air si compliquer que ça ...
      1. mais sinon, si c'est pour des enfant, en accord avec ce xkcd :
        https://xkcd.com/936/

        tu peux par exemple leurs assigner une ligne d'une fable, ou d'une histoire.
        un password comme "maitre corbeaux sur un arbre perché" sera plus efficace que 8 e a g 68 45 ;-)

        sinon, je vais voir pour te faire ça mais, ne connaissant pas VBA, je peux te le faire en PHP ... (voir en C => ça te ferai un executable que tu pourra mettre genre sur une clé usb et l'utiliser sur tout les postes)

        dans tout les cas, je ne maitrise pas les interfaces graphiques, donc ça se passera dans une fenêtre style "invite de commande". à toi de me dire si ça te va ;-)
        1. Oui cela m'irrais bien si possible =D
      2. bonjour

        en VBA

        Public Function mdp() As String
        Dim s As String, k As Long
          s = Chr(Int(10 * Rnd) + 48)
          s = s + " "
          For k = 1 To 3
            s = s + Chr(Int(26 * Rnd) + 65)
            s = s + " "
          Next k
          For k = 1 To 2
            s = s + Chr(Int(10 * Rnd) + 48)
          Next k
          s = s + " "
          For k = 1 To 2
            s = s + Chr(Int(10 * Rnd) + 48)
          Next k
          mdp = s
        End Function

        RQ. les différentes parties sont séparées par des espaces

        bonne suite
        1. re
          ZUT mal lu l'énoncé pour l'alea entre 40 et 99
        2. Merci , je me relie à votre post qui suit
      3. re

        Public Function mdp() As String
        Dim s As String, k As Long
          s = Chr(Int(10 * Rnd) + 48) + " "
          s = s + Chr(Int(26 * Rnd) + 65) + " "
          s = s + Chr(Int(26 * Rnd) + 65) + " "
          s = s + Chr(Int(26 * Rnd) + 65) + " "
          s = s + Chr(Int(6 * Rnd) + 52)
          s = s + Chr(Int(10 * Rnd) + 48) + " "
          s = s + Chr(Int(10 * Rnd) + 48)
          s = s + Chr(Int(10 * Rnd) + 48) + " "
          mdp = s
        End Function


        devrait aller mieux
        1. Merci , je met cette fonction entre quel items ? Et ai-je des chose à changer dans ce script ?
      4. re

        je met cette fonction entre quel items ?
        je ne vois pas ce que tu veux dire
        si tu es sous excel, tu la mets dans un module (pas de feuille) et tu peux l'utiliser dans une feuille comme une fonction ordinaire
        ex A1 = mdp()

        RQ. je ne connais pas PHP mais tu dois pouvoir traduire facilement

        bonne suite
        1. Non j'utilise virtual basic , par exemple je créer une nouvelle application , ensuite je créer un bouton , une text box je vais dans la partie Formule , et je doit mettre quoi exactement ? Toute la partie formule doit donnée quoi ?
          1. Avec le code que vous m'avez indiquer j'aurai besoin d'une sorte de tutoriel pour qu'au final j'ai une petite application qui génère un mot de passe automatiquement lorsque appui sur un bouton , c'est sa que je souhaite construire via Virtual Basic 2010 Express.
        2. re

          je ne connais pas virtual basic mais
          1. copier le code de la fonction mdp
          2. pour l'utiliser un truc du genre
          textbox1.text = mdp()
          devrait aller

          bonne suite
          1. Ce n'est pas clair dutous , pourions nous parler en directe de façon à ce que vous m'expliquiez au fur et à mesure que je fait ?
          2. Ou sinon me redigé rapidement un petit tutoriel qui explique comment faire du moment ou je lance virtual basic j'usqu'au résultat attendu si possible ? ...
          3. STOPP C'EST PARFAIT JAI REUSSI MERCI !
          4. Code sous VB : Public Class Form1

            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            TextBox1.Text = mdp()
            End Sub

            Public Function mdp() As String
            Dim s As String, k As Long
            s = Chr(Int(10 * Rnd) + 48) + " "
            s = s + Chr(Int(26 * Rnd) + 65) + " "
            s = s + Chr(Int(26 * Rnd) + 65) + " "
            s = s + Chr(Int(26 * Rnd) + 65) + " "
            s = s + Chr(Int(6 * Rnd) + 52)
            s = s + Chr(Int(10 * Rnd) + 48) + " "
            s = s + Chr(Int(10 * Rnd) + 48)
            s = s + Chr(Int(10 * Rnd) + 48) + " "
            mdp = s
            End Function

            End Class
            Merci beaucoup ! =D
        3. re

          dans ta demande initiale tu as parlé de VBA (donc sous entendu excel), je t'ai donné une solution en VBA
          je ne peux pas t'aider pour une transposition en Virtual Basic 2010 Express, que je ne connais pas

          désolé, refais un autre topic en reformulant ta question

          bonne suite
          1. Non c'est parfait j'ai réussi grâce à votre code , merci infiniement ! =D