Contrôle de la validité du mot de passe sous VBA MS ACCESS
Résolu
pe59189
Messages postés
18
Date d'inscription
Statut
Membre
Dernière intervention
-
pe59189 Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
pe59189 Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Contrôle de la validité du mot de passe sous VBA MS ACCESS
- Trousseau mot de passe iphone - Guide
- Mot de passe - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Voir mot de passe wifi android - Guide
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, je pense que c'est réalisable. as-tu une question?
Bonjour pe59189,
Je te propose ce code VBA :
⚠ Tu dois adapter CSP : liste des caractères spéciaux ;
il faut aussi ajuster le « * 14 » selon le nombre de caractères
de CSP ; exemple : si tu ajoute 3 autres caractères spéciaux,
mets les dans la chaîne CSP et : * 17
Merci de me dire si ça te convient.
Cordialement
Je te propose ce code VBA :
Option Explicit Function VérifPW(pw As String) As Boolean Const CSP As String * 14 = "#!&%$£µ§()[]{}" Dim c1 As String * 1, c2 As Byte Dim f1 As Byte, f2 As Byte, f3 As Byte, f4 As Byte Dim lng As Byte, i As Byte: lng = Len(pw) If lng < 8 Then Exit Function For i = 1 To lng c1 = Mid$(pw, i, 1): c2 = Asc(c1) Select Case c2 Case 65 To 90: f1 = 1 ' majuscule 'A' à 'Z' Case 97 To 122: f2 = 1 ' minuscule 'a' à 'z' Case 48 To 57: f3 = 1 ' chiffre '0' à '9' Case Else: ' caractère spécial If InStr(CSP, c1) > 0 Then f4 = 1 End Select Next i If f1 + f2 + f3 + f4 = 4 Then VérifPW = True End Function Sub Essai() If Not VérifPW("aBc#e0gh") Then Exit Sub MsgBox "Password : ok => faire la suite" End Sub
⚠ Tu dois adapter CSP : liste des caractères spéciaux ;
il faut aussi ajuster le « * 14 » selon le nombre de caractères
de CSP ; exemple : si tu ajoute 3 autres caractères spéciaux,
mets les dans la chaîne CSP et : * 17
Merci de me dire si ça te convient.
Cordialement
Remarque : si tu veux ajouter un test des lettres accentuées (majuscules ou
minuscules accentuées telles que À ÉÈÊË ... Ç Ñ et à éèêë ... ç ñ), tu peux le
faire avec la même méthode que j'ai utilisé pour CSP ; donc une constante
qui les contient toutes : Const LtrACC As String * 14 = "ÀÉÈÊËÇÑàéèêëçñ"
(exemple limité à compléter et * 14 à ajuster) ; puis test selon c1 (et pas
selon c2) : If InStr(LtrACC, c1) > 0 Then f5 = 1 => ajout de Dim f5 As Byte
et cette ligne : If f1 + f2 + f3 + f4 + f5 = 5 Then VérifPW = True
Bonjour Fabien,
Non, ce n'est pas ça : c'est selon le début du sujet de la discussion :
« Contrôle de la validité du mot de passe » ; tester la validité d'un
mot de passe => le programme demande à l'utilisateur de saisir
son mot de passe, puis juste après appui sur Entrée ou clic sur
bouton OK, le programme vérifie s'il contient au moins une lettre
majuscule, au moins une lettre minuscule, au moins un chiffre,
et au moins un caractère spécial + cet ajout éventuel : au moins
une lettre accentuée (en majuscule ou minuscule).
Ci-dessus, je parle d'une saisie d'un mot de passe lors de sa
création initiale ainsi que lors de la confirmation du mot de
passe, et aussi plus tard lors de la modification éventuelle
du précédent mot de passe ; ne pas oublier que l'utilisateur
doit d'abord entrer le bon mot de passe pour pouvoir alors
le modifier ; il ne s'agit en aucun cas d'éviter qu'un mot de
passe soit craqué ou supprimé : test de validité seulement.
@pe59189 : clique sur ce lien pour voir mon code VBA :
https://forums.commentcamarche.net/forum/affich-34835166-controle-de-la-validite-du-mot-de-passe-sous-vba-ms-access#4
Cordialement
Bonjour pe59189,
Je te laisse lire ces 2 messages :
https://forums.commentcamarche.net/forum/affich-34835166-controle-de-la-validite-du-mot-de-passe-sous-vba-ms-access#4
https://forums.commentcamarche.net/forum/affich-34835166-controle-de-la-validite-du-mot-de-passe-sous-vba-ms-access#5
Tu peux aussi séparer le dernier test en 2 :
- au moins une lettre majuscule accentuée
- au moins une lettre minuscule accentuée
Si tu veux plus d'aide, merci d'indiquer la liste complète des
caractères spéciaux que tu utilises ; idem pour les lettres
accentuées.
N'oublie pas de me donner ton avis.
Cordialement
Je te laisse lire ces 2 messages :
https://forums.commentcamarche.net/forum/affich-34835166-controle-de-la-validite-du-mot-de-passe-sous-vba-ms-access#4
https://forums.commentcamarche.net/forum/affich-34835166-controle-de-la-validite-du-mot-de-passe-sous-vba-ms-access#5
Tu peux aussi séparer le dernier test en 2 :
- au moins une lettre majuscule accentuée
- au moins une lettre minuscule accentuée
Si tu veux plus d'aide, merci d'indiquer la liste complète des
caractères spéciaux que tu utilises ; idem pour les lettres
accentuées.
N'oublie pas de me donner ton avis.
Cordialement
Je souhaite savoir comment coder.
Cdlt,
découvrir la programmation Access