Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

mot de passe invisible

  • Initiateur de la discussion Initiateur de la discussion caline
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

caline

XLDnaute Occasionnel
bonsoir a tous

dans cette macro qui me verouille et deverouille la protection des feuilles, je souhaiterais que quand je tape le mot de passe, on ne puisse le visualiser.

mais je ne sais pas ce que je dois rajouter à la macro

en vous remerciant
caline

Private Sub CommandButton1_Click()


Application.ScreenUpdating = False
Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Protect PassWord:="123"
Next Feuil

End Sub

Private Sub CommandButton3_Click()



Dim Feuil As Worksheet
Dim PassWord As String

PassWord = InputBox(" Entrez le mot de passe ", " Déverrouillage de l'ensemble des Feuilles")
If PassWord = "123" Then
For Each Feuil In Sheets
Feuil.Unprotect PassWord:="123"
Next Feuil
Else
MsgBox "Erreur Mot de Passe !", , "Attention"
End If
End Sub
 
Re : mot de passe invisible

Bonsoir Caline,

Pour vérouiller ton projet tu dois entrer dans VB.
Tu cliques sur "Outils". "Propiétes VBA Project".
Onglet "Protection".
Tu coches "Verouiller projet à l'affichage"
Puis tu mets et confirmes ton mot de passe.
tu Cliques "OK".

Surtout ne l'oublie pas, sinon tu ne verras plus tes macros. Un conseil sauvegarde ton classeur avant dans tes archives sans le vérouiller.

Bon test.
 
Re : mot de passe invisible

rebonsoir
merci Jyll
mais tout cela est fait dans le vba ,c'est quand j'active le bouton de commande " ot prtotection" et qu'l me demande le mot de passe ici pour l'exemple 123
je désirerais que l'on ne voit pas le 123 mais *** c'est pouir le cas ou quelqu'un se trouve près de moi afin qu'il ne puisse lire le mot de passe inscript

merci
Caline
 
Re : mot de passe invisible

Merci Myta
mais a quel endroit dans ma macro dois je rajouter ce que j'ai lu et dois rajouter tout cela ??
je débute en vba

merci
Caline

code trouvé sur ton lien :

'API functions to be used
Private Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, _
ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long

Private Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) 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 Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long

Private Declare Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" _
(ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) 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 GetCurrentThreadId Lib "kernel32" () As Long

'Constants to be used in our API functions
Private Const EM_SETPASSWORDCHAR = &HCC
Private Const WH_CBT = 5
Private Const HCBT_ACTIVATE = 5
Private Const HC_ACTION = 0

Private hHook As Long

Public Function NewProc(ByVal lngCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Dim RetVal
Dim strClassName As String, lngBuffer As Long

If lngCode < HC_ACTION Then
NewProc = CallNextHookEx(hHook, lngCode, wParam, lParam)
Exit Function
End If

strClassName = String$(256, " ")
lngBuffer = 255

If lngCode = HCBT_ACTIVATE Then 'A window has been activated

RetVal = GetClassName(wParam, strClassName, lngBuffer)

If Left$(strClassName, RetVal) = "#32770" Then 'Class name of the Inputbox

'This changes the edit control so that it display the password character *.
'You can change the Asc("*") as you please.
SendDlgItemMessage wParam, &H1324, EM_SETPASSWORDCHAR, Asc("*"), &H0
End If

End If

'This line will ensure that any other hooks that may be in place are
'called correctly.
CallNextHookEx hHook, lngCode, wParam, lParam

End Function

Public Function InputBoxDK(Prompt, Optional Title, Optional Default, Optional XPos, _
Optional YPos, Optional HelpFile, Optional Context) As String
Dim lngModHwnd As Long, lngThreadID As Long

lngThreadID = GetCurrentThreadId
lngModHwnd = GetModuleHandle(vbNullString)

hHook = SetWindowsHookEx(WH_CBT, AddressOf NewProc, lngModHwnd, lngThreadID)

InputBoxDK = InputBox(Prompt, Title, Default, XPos, YPos, HelpFile, Context)
UnhookWindowsHookEx hHook

End Function
 
Re : mot de passe invisible

Bonsoir Caline, Mytå et le forum,

Lu dans un autre fil dont Hervé est l'auteur.

la propriété passwordchar des textbox fait ca tres bien.


Très simple, il suffit de mettre une étoile dans cette prorièté.

Bonne utilisation.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
454
Réponses
5
Affichages
573
Réponses
10
Affichages
661
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…