Contrôle de la validité du mot de passe sous VBA MS ACCESS
Résolu/Fermé
pe59189
Messages postés
18
Date d'inscription
samedi 26 août 2017
Statut
Membre
Dernière intervention
13 février 2021
-
31 août 2017 à 16:49
pe59189 Messages postés 18 Date d'inscription samedi 26 août 2017 Statut Membre Dernière intervention 13 février 2021 - 4 sept. 2017 à 17:17
pe59189 Messages postés 18 Date d'inscription samedi 26 août 2017 Statut Membre Dernière intervention 13 février 2021 - 4 sept. 2017 à 17:17
A voir également:
- Contrôle de la validité du mot de passe sous VBA MS ACCESS
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
- Identifiant et mot de passe - Guide
- Trousseau mot de passe iphone - Guide
- Réinitialiser pc sans mot de passe - Guide
3 réponses
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
Ambassadeur
1 550
Modifié le 31 août 2017 à 23:34
Modifié le 31 août 2017 à 23:34
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
fabien25000
Messages postés
673
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
28 juillet 2022
59
2 sept. 2017 à 10:13
2 sept. 2017 à 10:13
Bonjour dany,
ce code permet donc d'éviter que le mot de passe soit craqué ou supprimé?
ce code permet donc d'éviter que le mot de passe soit craqué ou supprimé?
dany
>
fabien25000
Messages postés
673
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
28 juillet 2022
Modifié le 2 sept. 2017 à 10:37
Modifié le 2 sept. 2017 à 10:37
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
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
1 550
>
dany
2 sept. 2017 à 10:39
2 sept. 2017 à 10:39
bonjour, je dirais que ceci vérifie, au moment de "créer" un mot de passe, qu'il est conforme à quelques règles. le but de ces règles est de rendre le mot de passe complexe, difficile à deviner.
il s'agit donc plutôt d'un test de conformité (de la complexité du mot) qu'un test de validité.
il s'agit donc plutôt d'un test de conformité (de la complexité du mot) qu'un test de validité.
fabien25000
Messages postés
673
Date d'inscription
mercredi 5 octobre 2016
Statut
Membre
Dernière intervention
28 juillet 2022
59
>
yg_be
Messages postés
23342
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
21 novembre 2024
2 sept. 2017 à 11:04
2 sept. 2017 à 11:04
Je comprend merci à vous 2 pour vos éclaircissements.
Sans vous embêter à l'écrire un code permettant d'éviter l'écrasement, la suppression ou le crakage d'un mdp est possible?
Sans vous embêter à l'écrire un code permettant d'éviter l'écrasement, la suppression ou le crakage d'un mdp est possible?
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
pe59189
Messages postés
18
Date d'inscription
samedi 26 août 2017
Statut
Membre
Dernière intervention
13 février 2021
4 sept. 2017 à 17:17
4 sept. 2017 à 17:17
Bonjour,
Grand merci pour ton aide.
Les 2 codes proposés règlent mon problème.
Cordialement
Grand merci pour ton aide.
Les 2 codes proposés règlent mon problème.
Cordialement
1 sept. 2017 à 07:07
Je souhaite savoir comment coder.
Cdlt,
1 sept. 2017 à 09:15
découvrir la programmation Access