Mot de Passe

Résolu
cs_TTHIERRY Messages postés 50 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 22 décembre 2005 - 10 déc. 2005 à 18:49
cs_TTHIERRY Messages postés 50 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 22 décembre 2005 - 11 déc. 2005 à 09:26
bonjour,

j'ai un fichier Excel , je voudrai cas l'ouverture de cellui-ci on demande le non d'utilisateur et le mot de passe , et cella avant d'acticé les macros des classseurs
j'es mis dans une feuil6 les login et mot de passe des utilisateurs
pensez vous que c'est possible ??

merci de votre aide

TThierry133

4 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
11 déc. 2005 à 00:10
Bonsoir,
Tu peux pratiquer comme ceci.

1) Tu places sur un UserForm, un CommandButton, un Combobox et un TextBox (dans l'exemple txtMotdePasse).Dans la feuille 6, j'ai mis les noms dans la colonne A(A1, A2, etc...) et dans la colonne B, devant chaque nom son pot de passe.J'ai ensuite masquer la feuille6.

2)Enlever la croix du UserForm de façon que l'utilisateur ne peuve le fermer.

Le code:
Dans
Private Sub Workbook_Open()
UserForm1.Show
End Sub

Dans le Module de code du UserForm:

Private Sub ComboBox1_Change()
txtMotdePasse.SetFocus
End Sub

Private Sub CommandButton1_Click()
Static compteur As Byte
compteur = compteur + 1
If ComboBox1.ListIndex >= 0 Then
If Sheets(3).Range("B1").Offset(ComboBox1.ListIndex, 0) = txtMotdePasse Then
MsgBox "Mot de passe correct", vbInformation, "Mot de passe "
Unload Me
Else
If compteur = 3 Then
MsgBox "Echec dans la saisie du mot de passe. " & _
vbCr & "La commande ne peut-être exécutée", _
vbOKOnly + vbExclamation, "Mot de passe incorrect"
Application.DisplayAlerts = False
ActiveWorkbook.Close
End If
MsgBox "Le mot de passe fourni n'est pas correct. ", _
vbOKOnly + vbExclamation, "Mot de passe incorrect"
txtMotdePasse.Text = ""
txtMotdePasse.SetFocus
Me.Caption = "Entrez le mot de passe. Tentative " & _
compteur + 1 & " sur 3"
End If
End If
End Sub

Private Sub UserForm_Initialize()
Dim r As Range, i
Set r = Sheets(3).Range("A1").CurrentRegion
ComboBox1.Clear
For i = 1 To r.Rows.Count
ComboBox1.AddItem r.Cells(i, 1)
Next

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

Dans un Module

Public Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long

Public Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long

Public Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long


jpleroisse

Si une réponse vous convient, cliquez Réponse Acceptée.
3
FMatrix07 Messages postés 233 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 21 février 2009 2
10 déc. 2005 à 20:40
Ce que tu peux faire c'est mettre dans chaque macro au debut les conditions d'utilisation
login et mot de passe

Sub Macro1()
'
' Macro1 Macro
if Login="FMATRIX07" and MotPass="Loi" then
Application.WindowState = xlMinimized
end if
End Sub
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
11 déc. 2005 à 00:22
Re,
Dans mon code j'ai laisser Sheets(3), change en Sheets(6)

jpleroisse
0
cs_TTHIERRY Messages postés 50 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 22 décembre 2005
11 déc. 2005 à 09:26
merci pour ton aide

ça marche , il y a t'il une possibilité qu'a la premiére connexion on demande le changement de mot de passe

merci encore

TThierry133
0
Rejoignez-nous