afficher "*****" lors de la saisie du mdp

justine62000

XLDnaute Occasionnel
bonjour
j'ai crée un code vba qui demande un mot de passe avant l'ouverture de la page
par contre dans la cellule il affiche mon mot de passe
comment faire pour afficher "*****" a la place du mot de passe
merci
justine
 

Lii

XLDnaute Impliqué
Re : afficher "*****" lors de la saisie du mdp

Bonjour,

une autre solution (USF sans croix pour la validation de la saisie et feuille cachée au retour à l'accueil)
 

Pièces jointes

  • MotdePasse.zip
    9.6 KB · Affichages: 47
  • MotdePasse.zip
    9.6 KB · Affichages: 48
  • MotdePasse.zip
    9.6 KB · Affichages: 42

justine62000

XLDnaute Occasionnel
Re : afficher "*****" lors de la saisie du mdp

Coucou Justine!
Tiens regarde la piece jointe, tu comprendras mieux.
Attention avec les polices, ça ne marche pas pour les chiffres.
Tu peux formater une cellule comme ça ;

Range("A1").Select
With Selection.Font
.Name = "Wingdings"
.Size = 11
End With
Bye

bonjource code modifie la cellule a1
comment modifier la cellule dans input??
merci justine
Dim Message$, Titre$, Def$, WS$, PassW$
WS = "base"
PassW = "toto21"
Message = "Entrez un mot de passe :"
Titre = " Attention Accès réservé "
Def = "*****"
If InputBox(Message, Titre, Def) = PassW Then _
Sheets(WS).Activat


Range("A1").Select
With Selection.Font
.Name = "Wingdings"
.Size = 11
End With
Bye
 

justine62000

XLDnaute Occasionnel
Re : afficher "*****" lors de la saisie du mdp

ci joint une partie du fichier le boutton administrateur est rataché a la macro 40 il nous demande le mot de passe "toto21"(qui peut etre changer)mais je voudrais masquer toto21 soit par **** ou autre chose
je ne maitrise pas les usf par contre si vous pouvez en adapter un sur mon fichier
pourquoi pas
merci justine


Cijoint.fr - Service gratuit de dépôt de fichiers
 

mromain

XLDnaute Barbatruc
Re : afficher "*****" lors de la saisie du mdp

bonjour justine62000, HIJACK, CBernardT, Lii, Matimat

génial ton fichier CBernardT ;)
j'ai légèrement modifier un des modules afin de faciliter son utilisation.
il suffit de copier le code suivant dans un module
Code:
Option Explicit
Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Declare Function GetWindowLong Lib "user32" _
Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long

Private Declare Function SetWindowsHookEx Lib "user32" _
Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _
ByVal dwThreadId As Long) As Long

Private lgHook As Long

Private Declare Function GetClassName Lib "user32" _
Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, _
ByVal nMaxCount As Long) As Long

Private Declare Function SetWindowLong Lib "user32" _
Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Private Declare Function UnhookWindowsHookEx Lib "user32" _
    (ByVal hHook As Long) As Long


Function PasswordInputBox(message As String, title As String) As String

Const WH_CBT As Long = &H5
Const GWL_HINSTANCE As Long = -6
Dim lgInst As Long
PasswordInputBox = ""

lgInst = GetWindowLong(GetActiveWindow(), GWL_HINSTANCE)
#If VBA6 Then
lgHook = SetWindowsHookEx(WH_CBT, AddressOf PassWord_InputBox_Simple, _
lgInst, GetCurrentThreadId)
#Else
lgHook = SetWindowsHookEx(WH_CBT, AddrOf("PassWord_InputBox_Simple"), _
lgInst, GetCurrentThreadId)
#End If
PasswordInputBox = InputBox(message, title)
End Function
Private Function PassWord_InputBox_Simple(ByVal lMsg As Long, _
    ByVal wParam As Long, _
    ByRef lParam As Long) As Long

    Const HCBT_CREATEWND = 3
    Const GWL_STYLE = (-16)
    Const ES_PASSWORD = &H20

    Dim ClassName As String, RetVal As Long

    If lMsg = HCBT_CREATEWND Then
        ClassName = String$(128, Chr$(0))
        RetVal = GetClassName(wParam, ClassName, Len(ClassName))
        If Left(ClassName, RetVal) = "Edit" Then
            SetWindowLong wParam, GWL_STYLE, GetWindowLong(wParam, _
                GWL_STYLE) Or ES_PASSWORD
            UnhookWindowsHookEx lgHook
        End If
        PassWord_InputBox_Simple = False
    End If

End Function
puis pour utiliser l'"InputBox" dans une des macros, il suffit d'écrire ceci :
Code:
Dim mdp As String
mdp = PasswordInputBox("saisir mot de passe :", "Mot de passe")
a+
 

justine62000

XLDnaute Occasionnel
Re : afficher "*****" lors de la saisie du mdp

bonjour rromain
j'ai bien copier le code dans le module 5 ensuite je doir faire une macro avec uniquement ca
Dim mdp As String
mdp = PasswordInputBox("saisir mot de passe :", "Mot de passe")
ou
Dim mdp As String
mdp = PasswordInputBox("saisir mot de passe :", "Mot de passe")
Dim message$, Titre$, Def$, WS$, PassW$
WS = "ACCUEIL ABS"
PassW = "david"
message = "Entrez un mot de passe :"
Titre = " Attention Accès réservé "
Def = "*****"
If InputBox(message, Titre, Def) = PassW Then _
Sheets(WS).Activate
End Sub
justine t'inquietes je suis blonde c'est normale
 

mromain

XLDnaute Barbatruc
Re : afficher "*****" lors de la saisie du mdp

re,

voilà ce que ça donnerai (adapté à ton code) :
Code:
Dim Message$, Titre$, WS$, PassW$
WS = "base"
PassW = "toto21"
Message = "Entrez un mot de passe :"
Titre = " Attention Accès réservé "
If PasswordInputBox(Message, Titre) = PassW Then _
Sheets(WS).Activate
a+
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
210
Réponses
10
Affichages
362
Réponses
5
Affichages
455
Compte Supprimé 979
C
Réponses
8
Affichages
224

Statistiques des forums

Discussions
312 490
Messages
2 088 884
Membres
103 982
dernier inscrit
krakencolas