demande de mot de pass à l'ouverture d'une macro

Alex550445

XLDnaute Junior
Bonjour,

je voudrais bloquer l'ouverture de ma macro par un mot de pass.
j'ai trouvé ca :

Option Explicit
Dim motdepassevrai As String
Dim motdepasseboite As String

Sub MDP()
motdepassevrai = "oui"
motdepasseboite = InputBox("Tapez le mot de passe")
If motdepasseboite <> motdepassevrai Then
Exit Sub
End If
End Sub

Mais comment faire pour que le mot de pass taper ne s'affiche pas à l'écran, j'ai lu qu'avec une inputbox on ne pouvait pas, ya t'il une autre possibilité ?

d'avance merci
 

Alex550445

XLDnaute Junior
Re : demande de mot de pass à l'ouverture d'une macro

pour inhiber la croix

Private Sub UserForm_Initialize()
Pasdecroix Me
End Sub

dans le module
Option Private Module
Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long


Sub Pasdecroix(USF As UserForm)
Dim hWnd As Long
hWnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
"X", "D") & "Frame", USF.Caption)
SetWindowLongA hWnd, -16, GetWindowLongA(hWnd, -16) And &HFFF7FFFF
End Sub
 

justine

XLDnaute Occasionnel
Re : demande de mot de pass à l'ouverture d'une macro

bonsoir a tous, Alex550445, Staple1600
sans me meler de votre "discution", je planchais sur ce post pour moi meme afin de me performer.
pour empecher la fermeture de l'USF, j'avais ce bout de code

private sub userform_queryclose( cancel as integer, closemode as integer)
if closemode=vbformcontrolmenu then cancel=true
end sub

qu'y a t'il de different avec celui qui est proposé plus haut
merci
justine
 

Discussions similaires

Réponses
6
Affichages
255
Réponses
5
Affichages
453
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 440
Messages
2 088 452
Membres
103 854
dernier inscrit
linzei