Générer mot de passe excel aléatoire

Résolu/Fermé
Anonyme - 9 oct. 2009 à 11:01
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 - 12 oct. 2009 à 11:04
Bonjour,

Sous excel:
Colonne A: Nom
Colonne B: Prénom
Colonne C: @mail

Mais pour la colonne D, je souhaiterais générer un mot de passe aléatoire plutôt complexe, du type: qFH9rL6
Le tout automatiquement quand on rentre les 3 informations des colonnes A, B et C!
Quel formule dois-je utiliser en colonne D?

Merci

Cordialement,

Anonyme

5 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
9 oct. 2009 à 12:39
Bonjour,
Il n'est pas évident de "bricoler" une formule qui te donne un résultat aléatoire. Par VBA, une macro te ferait ça sans souci. Néanmoins, en bidouillant à partir de la formule ALEA() d'excel, on peux obtenir un résultat :
=STXT(A1;ARRONDI.SUP(ALEA()*62;0);1)
En A1 tu places l'alphabet majuscule les chiffres de 0 à 9 et l'alphabet minuscule, tout collé sans espaces :
ABCDE...0123....abcde...
en B1 la formule :
=STXT(A1;ARRONDI.SUP(ALEA()*62;0);1)
Pour obtenir 7 caractères aléatoires :
Il faut placer 7 fois la même formule avec & entre 2 :
=STXT(A1;ARRONDI.SUP(ALEA()*62;0);1)&STXT(A1;ARRONDI.SUP(ALEA()*62;0);1)&STXT(A1;ARRONDI.SUP(ALEA()*62;0);1)&STXT(A1;ARRONDI.SUP(ALEA()*62;0);1)&STXT(A1;ARRONDI.SUP(ALEA()*62;0);1)&STXT(A1;ARRONDI.SUP(ALEA()*62;0);1)&STXT(A1;ARRONDI.SUP(ALEA()*62;0);1)
Pour étirer ta formule n'oublie pas de placer des signes $ comme ceci $A$1 en lieu et place de chaque A1.
Le problème de cette formule est qu'elle est "volatile". Donc à chaque nouvelle saisie dans ta feuille de calcul, le résultat change.
Tu peux contourner ce problème en faisant : copier / Collage spécial "valeur" soit manuellement soit par macro automatique, très simple d'utilisation :
Dans un module VBA tu insères ce code :
Sub Macro1()
ActiveCell.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Tu cliques sur la cellule ou tu viens d'indiquer la formule et appuies sur ALT + F8 choisir Macro1 et exécuter.
Cette macro copie / colle spécial dans la cellule à droite de la cellule active...
3