Bonsoir, Chers contributeurs bénévoles
Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins :
Accepter plusieurs mots de passe, et en fonction du mot de passe saisi,
effectuer des actions différentes.
J'ai essayé avec
okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK*
okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK*
Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de loin
mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en entier,
car il peut servir à d'autres...) :
**************************************************************************
'Attribute VB_Name = "DemanderMotDePasse"
'demander un mot de passe et limiter le nombre d'essai pour fournir le mot
de passe correct
Sub TestMotPasse()
Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3)
' MsgBox okPswd
If okPswd Then
'do what you want
Else
'do something else that you want!
End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean
'Dave Peterson, mpep
Dim Pswd As String
Dim TryTimes As Long
TryTimes = 1
GetPassword = False
Do
Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _
& ". What's the password?", _
"Enter Password")
If Pswd = "" Then
Exit Function
End If
If Pswd <> CorrectPswd Then
TryTimes = TryTimes + 1
If TryTimes <= MaxTimes Then
MsgBox "Please try again"
End If
Else
GetPassword = True
MsgBox "Mot de passe correct !"
Exit Function
End If
Loop Until TryTimes > MaxTimes
End Function
*************************************
--
Bien cordialement,
=====================================
P. Bastard.
Pour me contacter, remplacez "Chez" par @ dans l'adresse
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Patrick Fredin
Bonjour,
Si j'ai bien compris le code de Frédéric, il ne sert pas à faire des actions en fonction du mot de passe mais à ne permettre que 3 essais. Ensuite, si le mot de passe est correct on fait quelque chose, si il est incorrect, on fait autre chose.
Mais si tu veux pouvoir accepter plusieurs mots de passe, il faut avoir une liste de ces mots de passe. Tu boucles sur cette liste et le compteur au moment où le mot de passe est trouvé peut te donner une sorte d'index des actions à effectuer.
J'espère que c'est clair, sinon je serai plus explicite.
-- Patrick
"Patrick Bastard" <bastardp"chez"free.fr> wrote in message news:
Bonsoir, Chers contributeurs bénévoles Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins : Accepter plusieurs mots de passe, et en fonction du mot de passe saisi, effectuer des actions différentes. J'ai essayé avec okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK* okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK* Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de loin mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en entier, car il peut servir à d'autres...) :
************************************************************************** 'Attribute VB_Name = "DemanderMotDePasse" 'demander un mot de passe et limiter le nombre d'essai pour fournir le mot de passe correct
Sub TestMotPasse() Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3) ' MsgBox okPswd If okPswd Then 'do what you want Else 'do something else that you want! End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean 'Dave Peterson, mpep Dim Pswd As String Dim TryTimes As Long
TryTimes = 1 GetPassword = False
Do Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _ & ". What's the password?", _ "Enter Password")
If Pswd = "" Then Exit Function End If
If Pswd <> CorrectPswd Then TryTimes = TryTimes + 1 If TryTimes <= MaxTimes Then MsgBox "Please try again" End If Else GetPassword = True MsgBox "Mot de passe correct !" Exit Function End If Loop Until TryTimes > MaxTimes
End Function *************************************
-- Bien cordialement, ==================================== > P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Bonjour,
Si j'ai bien compris le code de Frédéric, il ne sert pas à faire des actions
en fonction du mot de passe mais à ne permettre que 3 essais. Ensuite, si le
mot de passe est correct on fait quelque chose, si il est incorrect, on fait
autre chose.
Mais si tu veux pouvoir accepter plusieurs mots de passe, il faut avoir une
liste de ces mots de passe. Tu boucles sur cette liste et le compteur au
moment où le mot de passe est trouvé peut te donner une sorte d'index des
actions à effectuer.
J'espère que c'est clair, sinon je serai plus explicite.
--
Patrick
"Patrick Bastard" <bastardp"chez"free.fr> wrote in message
news:ex4mC3ByEHA.3224@TK2MSFTNGP14.phx.gbl...
Bonsoir, Chers contributeurs bénévoles
Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins :
Accepter plusieurs mots de passe, et en fonction du mot de passe saisi,
effectuer des actions différentes.
J'ai essayé avec
okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK*
okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK*
Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de
loin
mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en
entier,
car il peut servir à d'autres...) :
**************************************************************************
'Attribute VB_Name = "DemanderMotDePasse"
'demander un mot de passe et limiter le nombre d'essai pour fournir le mot
de passe correct
Sub TestMotPasse()
Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3)
' MsgBox okPswd
If okPswd Then
'do what you want
Else
'do something else that you want!
End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean
'Dave Peterson, mpep
Dim Pswd As String
Dim TryTimes As Long
TryTimes = 1
GetPassword = False
Do
Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _
& ". What's the password?", _
"Enter Password")
If Pswd = "" Then
Exit Function
End If
If Pswd <> CorrectPswd Then
TryTimes = TryTimes + 1
If TryTimes <= MaxTimes Then
MsgBox "Please try again"
End If
Else
GetPassword = True
MsgBox "Mot de passe correct !"
Exit Function
End If
Loop Until TryTimes > MaxTimes
End Function
*************************************
--
Bien cordialement,
==================================== > P. Bastard.
Pour me contacter, remplacez "Chez" par @ dans l'adresse
Si j'ai bien compris le code de Frédéric, il ne sert pas à faire des actions en fonction du mot de passe mais à ne permettre que 3 essais. Ensuite, si le mot de passe est correct on fait quelque chose, si il est incorrect, on fait autre chose.
Mais si tu veux pouvoir accepter plusieurs mots de passe, il faut avoir une liste de ces mots de passe. Tu boucles sur cette liste et le compteur au moment où le mot de passe est trouvé peut te donner une sorte d'index des actions à effectuer.
J'espère que c'est clair, sinon je serai plus explicite.
-- Patrick
"Patrick Bastard" <bastardp"chez"free.fr> wrote in message news:
Bonsoir, Chers contributeurs bénévoles Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins : Accepter plusieurs mots de passe, et en fonction du mot de passe saisi, effectuer des actions différentes. J'ai essayé avec okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK* okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK* Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de loin mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en entier, car il peut servir à d'autres...) :
************************************************************************** 'Attribute VB_Name = "DemanderMotDePasse" 'demander un mot de passe et limiter le nombre d'essai pour fournir le mot de passe correct
Sub TestMotPasse() Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3) ' MsgBox okPswd If okPswd Then 'do what you want Else 'do something else that you want! End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean 'Dave Peterson, mpep Dim Pswd As String Dim TryTimes As Long
TryTimes = 1 GetPassword = False
Do Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _ & ". What's the password?", _ "Enter Password")
If Pswd = "" Then Exit Function End If
If Pswd <> CorrectPswd Then TryTimes = TryTimes + 1 If TryTimes <= MaxTimes Then MsgBox "Please try again" End If Else GetPassword = True MsgBox "Mot de passe correct !" Exit Function End If Loop Until TryTimes > MaxTimes
End Function *************************************
-- Bien cordialement, ==================================== > P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Patrick Bastard
Bonsoir, *Patrick*.
Et merci de ton aide.
Ma question est justement : "comment, quand et où définir les différents mots de passe autorisés pour ensuite les récupérer pour agir en fonction de celui qui a été rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Bien cordialement,
Patrick.
Si j'ai bien compris le code de Frédéric, il ne sert pas à faire des actions en fonction du mot de passe mais à ne permettre que 3 essais. Ensuite, si le mot de passe est correct on fait quelque chose, si il est incorrect, on fait autre chose.
Mais si tu veux pouvoir accepter plusieurs mots de passe, il faut avoir une liste de ces mots de passe. Tu boucles sur cette liste et le compteur au moment où le mot de passe est trouvé peut te donner une sorte d'index des actions à effectuer.
J'espère que c'est clair, sinon je serai plus explicite.
Bonsoir, *Patrick*.
Et merci de ton aide.
Ma question est justement :
"comment, quand et où définir les différents mots de passe autorisés pour
ensuite les récupérer pour agir en fonction de celui qui a été rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave
Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Bien cordialement,
Patrick.
Si j'ai bien compris le code de Frédéric, il ne sert pas à faire des
actions en fonction du mot de passe mais à ne permettre que 3 essais.
Ensuite, si le mot de passe est correct on fait quelque chose, si il
est incorrect, on fait autre chose.
Mais si tu veux pouvoir accepter plusieurs mots de passe, il faut
avoir une liste de ces mots de passe. Tu boucles sur cette liste et
le compteur au moment où le mot de passe est trouvé peut te donner
une sorte d'index des actions à effectuer.
J'espère que c'est clair, sinon je serai plus explicite.
Ma question est justement : "comment, quand et où définir les différents mots de passe autorisés pour ensuite les récupérer pour agir en fonction de celui qui a été rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Bien cordialement,
Patrick.
Si j'ai bien compris le code de Frédéric, il ne sert pas à faire des actions en fonction du mot de passe mais à ne permettre que 3 essais. Ensuite, si le mot de passe est correct on fait quelque chose, si il est incorrect, on fait autre chose.
Mais si tu veux pouvoir accepter plusieurs mots de passe, il faut avoir une liste de ces mots de passe. Tu boucles sur cette liste et le compteur au moment où le mot de passe est trouvé peut te donner une sorte d'index des actions à effectuer.
J'espère que c'est clair, sinon je serai plus explicite.
Patrick Fredin
Tu mets les mots de passe où tu veux : - en "dur" dans le code - sur une feuille Excel (qui sera masquée bien sûr)
-- Patrick
"Patrick Bastard" <bastardp"chez"free.fr> wrote in message news:
Bonsoir, *Patrick*.
Et merci de ton aide.
Ma question est justement : "comment, quand et où définir les différents mots de passe autorisés pour ensuite les récupérer pour agir en fonction de celui qui a été rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Bien cordialement,
Patrick.
Si j'ai bien compris le code de Frédéric, il ne sert pas à faire des actions en fonction du mot de passe mais à ne permettre que 3 essais. Ensuite, si le mot de passe est correct on fait quelque chose, si il est incorrect, on fait autre chose.
Mais si tu veux pouvoir accepter plusieurs mots de passe, il faut avoir une liste de ces mots de passe. Tu boucles sur cette liste et le compteur au moment où le mot de passe est trouvé peut te donner une sorte d'index des actions à effectuer.
J'espère que c'est clair, sinon je serai plus explicite.
Tu mets les mots de passe où tu veux :
- en "dur" dans le code
- sur une feuille Excel (qui sera masquée bien sûr)
--
Patrick
"Patrick Bastard" <bastardp"chez"free.fr> wrote in message
news:u6rZbNCyEHA.260@TK2MSFTNGP11.phx.gbl...
Bonsoir, *Patrick*.
Et merci de ton aide.
Ma question est justement :
"comment, quand et où définir les différents mots de passe autorisés pour
ensuite les récupérer pour agir en fonction de celui qui a été rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave
Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Bien cordialement,
Patrick.
Si j'ai bien compris le code de Frédéric, il ne sert pas à faire des
actions en fonction du mot de passe mais à ne permettre que 3 essais.
Ensuite, si le mot de passe est correct on fait quelque chose, si il
est incorrect, on fait autre chose.
Mais si tu veux pouvoir accepter plusieurs mots de passe, il faut
avoir une liste de ces mots de passe. Tu boucles sur cette liste et
le compteur au moment où le mot de passe est trouvé peut te donner
une sorte d'index des actions à effectuer.
J'espère que c'est clair, sinon je serai plus explicite.
Tu mets les mots de passe où tu veux : - en "dur" dans le code - sur une feuille Excel (qui sera masquée bien sûr)
-- Patrick
"Patrick Bastard" <bastardp"chez"free.fr> wrote in message news:
Bonsoir, *Patrick*.
Et merci de ton aide.
Ma question est justement : "comment, quand et où définir les différents mots de passe autorisés pour ensuite les récupérer pour agir en fonction de celui qui a été rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Bien cordialement,
Patrick.
Si j'ai bien compris le code de Frédéric, il ne sert pas à faire des actions en fonction du mot de passe mais à ne permettre que 3 essais. Ensuite, si le mot de passe est correct on fait quelque chose, si il est incorrect, on fait autre chose.
Mais si tu veux pouvoir accepter plusieurs mots de passe, il faut avoir une liste de ces mots de passe. Tu boucles sur cette liste et le compteur au moment où le mot de passe est trouvé peut te donner une sorte d'index des actions à effectuer.
J'espère que c'est clair, sinon je serai plus explicite.
Patrick Bastard
Merci, Patrick
Dur, dur... Je m'y recolle. 8-) -- Bien cordialement, ==================================== P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Tu mets les mots de passe où tu veux : - en "dur" dans le code - sur une feuille Excel (qui sera masquée bien sûr)
Ma question est justement : "comment, quand et où définir les différents mots de passe autorisés pour ensuite les récupérer pour agir en fonction de celui qui a été rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Merci, Patrick
Dur, dur... Je m'y recolle.
8-)
--
Bien cordialement,
==================================== P. Bastard.
Pour me contacter, remplacez "Chez" par @ dans l'adresse
Tu mets les mots de passe où tu veux :
- en "dur" dans le code
- sur une feuille Excel (qui sera masquée bien sûr)
Ma question est justement :
"comment, quand et où définir les différents mots de passe autorisés
pour ensuite les récupérer pour agir en fonction de celui qui a été
rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave
Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Dur, dur... Je m'y recolle. 8-) -- Bien cordialement, ==================================== P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Tu mets les mots de passe où tu veux : - en "dur" dans le code - sur une feuille Excel (qui sera masquée bien sûr)
Ma question est justement : "comment, quand et où définir les différents mots de passe autorisés pour ensuite les récupérer pour agir en fonction de celui qui a été rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Pounet95
Bonsoir Patrick, Pourquoi ne pas créer un userform tout bête avec un textbox et un bouton ? Tu utilises la structure select case qui te permets de mettre un bon nombre de cas. En plus dans le textbox tu peux cacher la saisie de l'utilisateur par un symbole de ton choix grace à la propriété PasswordChar
Exemple : * module du userform **** Dim nb As Integer 'nbre essais
Private Sub CommandButton1_Click() nb = nb + 1 Select Case TextBox1.Text Case "toto" MsgBox "Exécute procédure 1" Case "tata" MsgBox "Exécute procédure 2" Case "albert" ' ......... Case Else If nb < 3 Then MsgBox "Encore " & 3 - nb & " essai(s)" TextBox1.Text = "" Exit Sub Else MsgBox "Accès bloqué " End If End Select Hide End Sub
Private Sub UserForm_Initialize() nb = 0 Show End Sub
-- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/ "Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de news:
Bonsoir, Chers contributeurs bénévoles Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins : Accepter plusieurs mots de passe, et en fonction du mot de passe saisi, effectuer des actions différentes. J'ai essayé avec okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK* okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK* Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de loin mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en entier, car il peut servir à d'autres...) :
************************************************************************** 'Attribute VB_Name = "DemanderMotDePasse" 'demander un mot de passe et limiter le nombre d'essai pour fournir le mot de passe correct
Sub TestMotPasse() Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3) ' MsgBox okPswd If okPswd Then 'do what you want Else 'do something else that you want! End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean 'Dave Peterson, mpep Dim Pswd As String Dim TryTimes As Long
TryTimes = 1 GetPassword = False
Do Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _ & ". What's the password?", _ "Enter Password")
If Pswd = "" Then Exit Function End If
If Pswd <> CorrectPswd Then TryTimes = TryTimes + 1 If TryTimes <= MaxTimes Then MsgBox "Please try again" End If Else GetPassword = True MsgBox "Mot de passe correct !" Exit Function End If Loop Until TryTimes > MaxTimes
End Function *************************************
-- Bien cordialement, ==================================== > P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Bonsoir Patrick,
Pourquoi ne pas créer un userform tout bête avec un textbox et un bouton ?
Tu utilises la structure select case qui te permets de mettre un bon nombre
de cas.
En plus dans le textbox tu peux cacher la saisie de l'utilisateur par un
symbole de ton choix
grace à la propriété PasswordChar
Exemple :
* module du userform ****
Dim nb As Integer 'nbre essais
Private Sub CommandButton1_Click()
nb = nb + 1
Select Case TextBox1.Text
Case "toto"
MsgBox "Exécute procédure 1"
Case "tata"
MsgBox "Exécute procédure 2"
Case "albert"
' .........
Case Else
If nb < 3 Then
MsgBox "Encore " & 3 - nb & " essai(s)"
TextBox1.Text = ""
Exit Sub
Else
MsgBox "Accès bloqué "
End If
End Select
Hide
End Sub
Private Sub UserForm_Initialize()
nb = 0
Show
End Sub
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de news:
ex4mC3ByEHA.3224@TK2MSFTNGP14.phx.gbl...
Bonsoir, Chers contributeurs bénévoles
Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins :
Accepter plusieurs mots de passe, et en fonction du mot de passe saisi,
effectuer des actions différentes.
J'ai essayé avec
okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK*
okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK*
Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de
loin
mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en
entier,
car il peut servir à d'autres...) :
**************************************************************************
'Attribute VB_Name = "DemanderMotDePasse"
'demander un mot de passe et limiter le nombre d'essai pour fournir le mot
de passe correct
Sub TestMotPasse()
Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3)
' MsgBox okPswd
If okPswd Then
'do what you want
Else
'do something else that you want!
End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean
'Dave Peterson, mpep
Dim Pswd As String
Dim TryTimes As Long
TryTimes = 1
GetPassword = False
Do
Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _
& ". What's the password?", _
"Enter Password")
If Pswd = "" Then
Exit Function
End If
If Pswd <> CorrectPswd Then
TryTimes = TryTimes + 1
If TryTimes <= MaxTimes Then
MsgBox "Please try again"
End If
Else
GetPassword = True
MsgBox "Mot de passe correct !"
Exit Function
End If
Loop Until TryTimes > MaxTimes
End Function
*************************************
--
Bien cordialement,
==================================== > P. Bastard.
Pour me contacter, remplacez "Chez" par @ dans l'adresse
Bonsoir Patrick, Pourquoi ne pas créer un userform tout bête avec un textbox et un bouton ? Tu utilises la structure select case qui te permets de mettre un bon nombre de cas. En plus dans le textbox tu peux cacher la saisie de l'utilisateur par un symbole de ton choix grace à la propriété PasswordChar
Exemple : * module du userform **** Dim nb As Integer 'nbre essais
Private Sub CommandButton1_Click() nb = nb + 1 Select Case TextBox1.Text Case "toto" MsgBox "Exécute procédure 1" Case "tata" MsgBox "Exécute procédure 2" Case "albert" ' ......... Case Else If nb < 3 Then MsgBox "Encore " & 3 - nb & " essai(s)" TextBox1.Text = "" Exit Sub Else MsgBox "Accès bloqué " End If End Select Hide End Sub
Private Sub UserForm_Initialize() nb = 0 Show End Sub
-- Pounet95 on trouve tout ( ou presque ) http://www.excelabo.net/ "Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de news:
Bonsoir, Chers contributeurs bénévoles Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins : Accepter plusieurs mots de passe, et en fonction du mot de passe saisi, effectuer des actions différentes. J'ai essayé avec okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK* okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK* Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de loin mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en entier, car il peut servir à d'autres...) :
************************************************************************** 'Attribute VB_Name = "DemanderMotDePasse" 'demander un mot de passe et limiter le nombre d'essai pour fournir le mot de passe correct
Sub TestMotPasse() Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3) ' MsgBox okPswd If okPswd Then 'do what you want Else 'do something else that you want! End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean 'Dave Peterson, mpep Dim Pswd As String Dim TryTimes As Long
TryTimes = 1 GetPassword = False
Do Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _ & ". What's the password?", _ "Enter Password")
If Pswd = "" Then Exit Function End If
If Pswd <> CorrectPswd Then TryTimes = TryTimes + 1 If TryTimes <= MaxTimes Then MsgBox "Please try again" End If Else GetPassword = True MsgBox "Mot de passe correct !" Exit Function End If Loop Until TryTimes > MaxTimes
End Function *************************************
-- Bien cordialement, ==================================== > P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Patrick Bastard
Bonsoir, Patrick.
Veux-tu que je t'envois un exemple ?
J'accepte avec le plus grand plaisir, et t'en remercie.
-- Bien cordialement, ==================================== P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Une foule de conseils utiles sur le site de Misange : http://www.excelabo.net
Bonsoir, Patrick.
Veux-tu que je t'envois un exemple ?
J'accepte avec le plus grand plaisir, et t'en remercie.
--
Bien cordialement,
==================================== P. Bastard.
Pour me contacter, remplacez "Chez" par @ dans l'adresse
Une foule de conseils utiles sur le site de Misange :
http://www.excelabo.net
J'accepte avec le plus grand plaisir, et t'en remercie.
-- Bien cordialement, ==================================== P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Une foule de conseils utiles sur le site de Misange : http://www.excelabo.net
Patrick Fredin
Veux-tu que je t'envois un exemple ?
-- Patrick
"Patrick Bastard" <bastardp"chez"free.fr> wrote in message news:%
Merci, Patrick
Dur, dur... Je m'y recolle. 8-) -- Bien cordialement, ==================================== > P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Tu mets les mots de passe où tu veux : - en "dur" dans le code - sur une feuille Excel (qui sera masquée bien sûr)
Ma question est justement : "comment, quand et où définir les différents mots de passe autorisés pour ensuite les récupérer pour agir en fonction de celui qui a été rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Veux-tu que je t'envois un exemple ?
--
Patrick
"Patrick Bastard" <bastardp"chez"free.fr> wrote in message
news:%23h7CeaCyEHA.1452@TK2MSFTNGP11.phx.gbl...
Merci, Patrick
Dur, dur... Je m'y recolle.
8-)
--
Bien cordialement,
==================================== > P. Bastard.
Pour me contacter, remplacez "Chez" par @ dans l'adresse
Tu mets les mots de passe où tu veux :
- en "dur" dans le code
- sur une feuille Excel (qui sera masquée bien sûr)
Ma question est justement :
"comment, quand et où définir les différents mots de passe autorisés
pour ensuite les récupérer pour agir en fonction de celui qui a été
rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave
Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
"Patrick Bastard" <bastardp"chez"free.fr> wrote in message news:%
Merci, Patrick
Dur, dur... Je m'y recolle. 8-) -- Bien cordialement, ==================================== > P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Tu mets les mots de passe où tu veux : - en "dur" dans le code - sur une feuille Excel (qui sera masquée bien sûr)
Ma question est justement : "comment, quand et où définir les différents mots de passe autorisés pour ensuite les récupérer pour agir en fonction de celui qui a été rentré"
Je m'y perds un peu -beaucoup ?- avec la fonction GetPassword de Dave Peterson et les CorrectPsws, okPswd et Pswd de Frédéric.
Patrick Bastard
Bonsoir, *Pounet95*. *Pour reprendre les termes de ton intervention* -voir en fin de message :
Ta solution est en effet intéressante, et je la garde au chaud. Pour gagner du temps, et pour éviter de "réinventer le fil à couper le beurre", je désirais réutiliser le code de Frédéric, que j'avais déjà testé, mais si la solution que Patrick Fredin se propose de m'envoyer ne correspondait pas à mon besoin, j'opterai pour la tienne.
Merci en tous cas pour ta proposition.
C'est aussi *CA*, la magie de ce forum : Une question, Deux solutions....
Bien cordialement,
Patrick.
Bonsoir Patrick, Pourquoi ne pas créer un userform tout bête avec un textbox et un bouton ? Tu utilises la structure select case qui te permets de mettre un bon nombre de cas. En plus dans le textbox tu peux cacher la saisie de l'utilisateur par un symbole de ton choix grace à la propriété PasswordChar
Exemple : * module du userform **** Dim nb As Integer 'nbre essais
Private Sub CommandButton1_Click() nb = nb + 1 Select Case TextBox1.Text Case "toto" MsgBox "Exécute procédure 1" Case "tata" MsgBox "Exécute procédure 2" Case "albert" ' ......... Case Else If nb < 3 Then MsgBox "Encore " & 3 - nb & " essai(s)" TextBox1.Text = "" Exit Sub Else MsgBox "Accès bloqué " End If End Select Hide End Sub
Private Sub UserForm_Initialize() nb = 0 Show End Sub
Bonsoir, Chers contributeurs bénévoles Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins : Accepter plusieurs mots de passe, et en fonction du mot de passe saisi, effectuer des actions différentes. J'ai essayé avec okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK* okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK* Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de loin mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en entier, car il peut servir à d'autres...) :
'Attribute VB_Name = "DemanderMotDePasse" 'demander un mot de passe et limiter le nombre d'essai pour fournir le mot de passe correct
Sub TestMotPasse() Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3) ' MsgBox okPswd If okPswd Then 'do what you want Else 'do something else that you want! End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean 'Dave Peterson, mpep Dim Pswd As String Dim TryTimes As Long
TryTimes = 1 GetPassword = False
Do Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _ & ". What's the password?", _ "Enter Password")
If Pswd = "" Then Exit Function End If
If Pswd <> CorrectPswd Then TryTimes = TryTimes + 1 If TryTimes <= MaxTimes Then MsgBox "Please try again" End If Else GetPassword = True MsgBox "Mot de passe correct !" Exit Function End If Loop Until TryTimes > MaxTimes
End Function *************************************
-- Bien cordialement, ==================================== >> P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Bonsoir, *Pounet95*.
*Pour reprendre les termes de ton intervention* -voir en fin de message :
Ta solution est en effet intéressante, et je la garde au chaud.
Pour gagner du temps, et pour éviter de "réinventer le fil à couper le
beurre", je désirais réutiliser le code de Frédéric, que j'avais déjà testé,
mais si la solution que Patrick Fredin se propose de m'envoyer ne
correspondait pas à mon besoin, j'opterai pour la tienne.
Merci en tous cas pour ta proposition.
C'est aussi *CA*, la magie de ce forum : Une question, Deux solutions....
Bien cordialement,
Patrick.
Bonsoir Patrick,
Pourquoi ne pas créer un userform tout bête avec un textbox et un
bouton ? Tu utilises la structure select case qui te permets de
mettre un bon nombre de cas.
En plus dans le textbox tu peux cacher la saisie de l'utilisateur par
un symbole de ton choix
grace à la propriété PasswordChar
Exemple :
* module du userform ****
Dim nb As Integer 'nbre essais
Private Sub CommandButton1_Click()
nb = nb + 1
Select Case TextBox1.Text
Case "toto"
MsgBox "Exécute procédure 1"
Case "tata"
MsgBox "Exécute procédure 2"
Case "albert"
' .........
Case Else
If nb < 3 Then
MsgBox "Encore " & 3 - nb & " essai(s)"
TextBox1.Text = ""
Exit Sub
Else
MsgBox "Accès bloqué "
End If
End Select
Hide
End Sub
Private Sub UserForm_Initialize()
nb = 0
Show
End Sub
Bonsoir, Chers contributeurs bénévoles
Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins :
Accepter plusieurs mots de passe, et en fonction du mot de passe
saisi, effectuer des actions différentes.
J'ai essayé avec
okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK*
okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK*
Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore
de loin
mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en
entier,
car il peut servir à d'autres...) :
'Attribute VB_Name = "DemanderMotDePasse"
'demander un mot de passe et limiter le nombre d'essai pour fournir
le mot de passe correct
Sub TestMotPasse()
Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3)
' MsgBox okPswd
If okPswd Then
'do what you want
Else
'do something else that you want!
End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As
Boolean 'Dave Peterson, mpep
Dim Pswd As String
Dim TryTimes As Long
TryTimes = 1
GetPassword = False
Do
Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _
& ". What's the password?", _
"Enter Password")
If Pswd = "" Then
Exit Function
End If
If Pswd <> CorrectPswd Then
TryTimes = TryTimes + 1
If TryTimes <= MaxTimes Then
MsgBox "Please try again"
End If
Else
GetPassword = True
MsgBox "Mot de passe correct !"
Exit Function
End If
Loop Until TryTimes > MaxTimes
End Function
*************************************
--
Bien cordialement,
==================================== >> P. Bastard.
Pour me contacter, remplacez "Chez" par @ dans l'adresse
Bonsoir, *Pounet95*. *Pour reprendre les termes de ton intervention* -voir en fin de message :
Ta solution est en effet intéressante, et je la garde au chaud. Pour gagner du temps, et pour éviter de "réinventer le fil à couper le beurre", je désirais réutiliser le code de Frédéric, que j'avais déjà testé, mais si la solution que Patrick Fredin se propose de m'envoyer ne correspondait pas à mon besoin, j'opterai pour la tienne.
Merci en tous cas pour ta proposition.
C'est aussi *CA*, la magie de ce forum : Une question, Deux solutions....
Bien cordialement,
Patrick.
Bonsoir Patrick, Pourquoi ne pas créer un userform tout bête avec un textbox et un bouton ? Tu utilises la structure select case qui te permets de mettre un bon nombre de cas. En plus dans le textbox tu peux cacher la saisie de l'utilisateur par un symbole de ton choix grace à la propriété PasswordChar
Exemple : * module du userform **** Dim nb As Integer 'nbre essais
Private Sub CommandButton1_Click() nb = nb + 1 Select Case TextBox1.Text Case "toto" MsgBox "Exécute procédure 1" Case "tata" MsgBox "Exécute procédure 2" Case "albert" ' ......... Case Else If nb < 3 Then MsgBox "Encore " & 3 - nb & " essai(s)" TextBox1.Text = "" Exit Sub Else MsgBox "Accès bloqué " End If End Select Hide End Sub
Private Sub UserForm_Initialize() nb = 0 Show End Sub
Bonsoir, Chers contributeurs bénévoles Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins : Accepter plusieurs mots de passe, et en fonction du mot de passe saisi, effectuer des actions différentes. J'ai essayé avec okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK* okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK* Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de loin mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en entier, car il peut servir à d'autres...) :
'Attribute VB_Name = "DemanderMotDePasse" 'demander un mot de passe et limiter le nombre d'essai pour fournir le mot de passe correct
Sub TestMotPasse() Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3) ' MsgBox okPswd If okPswd Then 'do what you want Else 'do something else that you want! End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean 'Dave Peterson, mpep Dim Pswd As String Dim TryTimes As Long
TryTimes = 1 GetPassword = False
Do Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _ & ". What's the password?", _ "Enter Password")
If Pswd = "" Then Exit Function End If
If Pswd <> CorrectPswd Then TryTimes = TryTimes + 1 If TryTimes <= MaxTimes Then MsgBox "Please try again" End If Else GetPassword = True MsgBox "Mot de passe correct !" Exit Function End If Loop Until TryTimes > MaxTimes
End Function *************************************
-- Bien cordialement, ==================================== >> P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Jacky
Et bienvenue dans le club des Ferraris ;o)) JJ
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de news:
Bonsoir, Chers contributeurs bénévoles Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins : Accepter plusieurs mots de passe, et en fonction du mot de passe saisi, effectuer des actions différentes. J'ai essayé avec okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK* okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK* Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de loin
mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en entier,
car il peut servir à d'autres...) :
************************************************************************** 'Attribute VB_Name = "DemanderMotDePasse" 'demander un mot de passe et limiter le nombre d'essai pour fournir le mot de passe correct
Sub TestMotPasse() Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3) ' MsgBox okPswd If okPswd Then 'do what you want Else 'do something else that you want! End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean 'Dave Peterson, mpep Dim Pswd As String Dim TryTimes As Long
TryTimes = 1 GetPassword = False
Do Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _ & ". What's the password?", _ "Enter Password")
If Pswd = "" Then Exit Function End If
If Pswd <> CorrectPswd Then TryTimes = TryTimes + 1 If TryTimes <= MaxTimes Then MsgBox "Please try again" End If Else GetPassword = True MsgBox "Mot de passe correct !" Exit Function End If Loop Until TryTimes > MaxTimes
End Function *************************************
-- Bien cordialement, ==================================== > P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse
Et bienvenue dans le club des Ferraris
;o))
JJ
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de
news:ex4mC3ByEHA.3224@TK2MSFTNGP14.phx.gbl...
Bonsoir, Chers contributeurs bénévoles
Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins :
Accepter plusieurs mots de passe, et en fonction du mot de passe saisi,
effectuer des actions différentes.
J'ai essayé avec
okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK*
okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK*
Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de
loin
mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en
entier,
car il peut servir à d'autres...) :
**************************************************************************
'Attribute VB_Name = "DemanderMotDePasse"
'demander un mot de passe et limiter le nombre d'essai pour fournir le mot
de passe correct
Sub TestMotPasse()
Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3)
' MsgBox okPswd
If okPswd Then
'do what you want
Else
'do something else that you want!
End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean
'Dave Peterson, mpep
Dim Pswd As String
Dim TryTimes As Long
TryTimes = 1
GetPassword = False
Do
Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _
& ". What's the password?", _
"Enter Password")
If Pswd = "" Then
Exit Function
End If
If Pswd <> CorrectPswd Then
TryTimes = TryTimes + 1
If TryTimes <= MaxTimes Then
MsgBox "Please try again"
End If
Else
GetPassword = True
MsgBox "Mot de passe correct !"
Exit Function
End If
Loop Until TryTimes > MaxTimes
End Function
*************************************
--
Bien cordialement,
==================================== > P. Bastard.
Pour me contacter, remplacez "Chez" par @ dans l'adresse
"Patrick Bastard" <bastardp"chez"free.fr> a écrit dans le message de news:
Bonsoir, Chers contributeurs bénévoles Une p'tite dernière (promis...) pour aujourd'hui :
J'essaie d'adapter ce code de Frédéric Sigonneau à mes besoins : Accepter plusieurs mots de passe, et en fonction du mot de passe saisi, effectuer des actions différentes. J'ai essayé avec okPswd = GetPassword("topsecret", 3) , ("trèssecret",3) : *NOK* okPswd = GetPassword("topsecret", 3)or ("trèssecret",3) : *NOK* Je subodore l'utilisation d'une matrice, mais là, ça dépasse encore de loin
mes compétences...
J'ai donc besoin, une fois encore de vos lumières. Par avance, Merci
Le code honteusement copié sur le site de Frédéric (que je joins en entier,
car il peut servir à d'autres...) :
************************************************************************** 'Attribute VB_Name = "DemanderMotDePasse" 'demander un mot de passe et limiter le nombre d'essai pour fournir le mot de passe correct
Sub TestMotPasse() Dim okPswd As Boolean
okPswd = GetPassword("topsecret", 3) ' MsgBox okPswd If okPswd Then 'do what you want Else 'do something else that you want! End If
End Sub
Function GetPassword(CorrectPswd As String, MaxTimes As Long) As Boolean 'Dave Peterson, mpep Dim Pswd As String Dim TryTimes As Long
TryTimes = 1 GetPassword = False
Do Pswd = InputBox("Attempt #" & TryTimes & " of " & MaxTimes _ & ". What's the password?", _ "Enter Password")
If Pswd = "" Then Exit Function End If
If Pswd <> CorrectPswd Then TryTimes = TryTimes + 1 If TryTimes <= MaxTimes Then MsgBox "Please try again" End If Else GetPassword = True MsgBox "Mot de passe correct !" Exit Function End If Loop Until TryTimes > MaxTimes
End Function *************************************
-- Bien cordialement, ==================================== > P. Bastard. Pour me contacter, remplacez "Chez" par @ dans l'adresse