cs_TTHIERRY
Messages postés50Date d'inscriptionlundi 19 avril 2004StatutMembreDernière intervention22 décembre 2005
-
11 déc. 2005 à 18:06
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 2006
-
11 déc. 2005 à 23:03
Bonjour,
j'es un classeur excel qui a l'ouverture ouvre un userForm1 est qui demande le login et mot de passe (les mot de passe se trouve dans la feuil3 ainsi que les nom) voir dessous
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_Click()
End Sub
Private Sub Workbook_Open()
UserForm1.Show
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
et 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
ce code ma était donner par un internaute, ma question et la suivante je voudrai cas la premiére connexion l'utilisateur change son mot de passe
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 11 déc. 2005 à 23:03
Re,
Ceci marche, rajoute sur ton UserForm un texBox (txtNouveauMotDePasse)
au dessus, tu peux placer un Label (par exemple Label.Caption =
"Tappez votre nouveau mot de passe"), ensuite rajouter la ligne en bleu
comme ceci.
Si l'utilisateur laisse le TextBox(txtNouveauMotDePasse vide, le mot de
passe est conservé, sinon le nouveau mot de passe est enregistrer.Ne
pas oublier d'enregistrer le classeur à la fermeture.
If Sheets(3).Range("B1").Offset(ComboBox1.ListIndex, 0) = txtMotdePasse Then
MsgBox "Mot de passe correct", vbInformation, "Mot de passe "
jpleroisse
Messages postés1788Date d'inscriptionmardi 7 novembre 2000StatutMembreDernière intervention11 mars 200627 11 déc. 2005 à 22:39
Re,
Excuse, celà ne marchera pas, tu auras le même mot de passe pour tous
les utiltisateurs. Je vais essayer de trouver une autre solution.
(c'est pas évident)