Visual Basic For Applications
Le générateur de mots de passe !

Un fichier et des fonctions bien sympas pour générer des mots de passe aléatoires.

Un générateur de mots de passe avec VBA

Nous vous proposons un générateur de mots de passe aléatoire fait avec Excel et notamment du VBA.

Bien qu’il existe une grande quantité de générateurs sur internet, cet exercice est surtout l’occasion de voir plusieurs fonctions VBA intéressantes.

Le générateur que nous vous proposons permet de créer des mots de passe de la longueur que vous souhaitez tout en ayant un minimum de 4 caractères. Les mots de passe sont constitués aléatoirement de minuscules, majuscules et chiffres.

Dans cette macro nous avons déclaré un maximum d’éléments en variables et constantes afin que vous puissiez facilement modifier la mise en page.

La macro

Fonction Rnd()

Cette fonction permet de générer des nombres aléatoires de type Single (ou nombre à virgule).

L’argument est facultatif mais peut permettre d’indiquer les éléments suivants :

  • Vide : nombre aléatoire.
  • 0 : génére à nouveau le dernier nombre.
  • Nombre positif : renvoie le nombre aléatoire suivant.
  • Nombre négatif : renvoie toujours le même nombre en utilisant nombre en argument comme la valeur de départ.

La fonction RND() ne permet cependant pas de générer systématiquement un nombre aléatoire : à chaque fois que vous allez ouvrir votre fichier la suite de mots de passe va être identique à celle générée la fois précédente.

Pour éviter cela, il suffit tout simplement d’ajouter l’instruction RANDOMIZE dans votre code avant la fonction RND(). Cette instruction va permettre de générer à chaque fois des chiffres différents.

Il est possible d’ajouter des paramètres à la fonction RND() en utilisant la synthaxe suivante :

INT((90 - 65 + 1) * RND() + 65)
  • 90 : valeur maximum
  • 65 : valeur minimum

Le code ci-dessus va vous permettre de sortir un chiffre entre 65 et 90.

Fonction CHR()

La fonction CHR() donne le caractère correspondant à un chiffre dans la table ASCII. Dans la macro supprimer les caractères spéciaux, nous avons utilisé la fonction ASC() qui permet de donner la valeur d’un caractère dans la table ASCII (c’est donc l’opposé).

Par exemple :

CHR(97) = a

Le fichier

Le générateur de mots de passe est très simple à utiliser puisqu’il ne permet de faire qu’une seule chose en prenant en compte qu’une seule information : le nombre de caractères qui doivent composer votre mot de passe.

  1. Renseigner la longueur souhaitée (en nombre de caractères) dans la cellule F3.
  2. Cliquez sur le bouton.
  3. Le mot de passe s’affiche en F5. Si vous souhaitez générer un nouveau mot de passe cliquez à nouveau sur le bouton.

Si vous activez la macro et que la longueur de mot de passe n’est pas spécifiée ou qu’elle est inférieur à 4, le générateur de mots de passe va par défaut créer une suite de 4 caractères.

Attention

Si pour tester vous avez rentré une valeur trop grande, il se peut que la macro tourne longtemps : pour quitter la macro en cours d’exécution, maintenez appuyée la touche ECHAP.

Le fichier ci-dessous n’est pas protégé vous pouvez donc accéder directement au code.

Pour télécharger le fichier cliquez ici et n’oubliez pas d’activer les macros.
Notez nous !
[Moyenne : 4.9]