utiliser mot de passe pour accéder au fichier
Le
zimou

bonjour,
je veux maintenant utiliser les mots de passe pour pouvoir ouvrir une UF po=
ur introduire les données:
j’utilise ce code, le problème il ne controle que la cellule a1.
les autres cellules de la colonne a ne sont pas reconnues.
comment modifier ce code ou un autre code pour utiliser les mot de passes q=
ui sont dans la colonne A.
et merci d'avance.
Sub Controle_Passe()
If M <> Sheets(6).[a1] Then
Else
MsgBox "bon mot de passe"
Me.Hide
userform1.Show
If M <> Sheets(6).[a2] Then
MsgBox "Erreur passe"
Me.Hide
Else
MsgBox "bon mot de passe"
Me.Hide
userform1.Show
End If
End If
End Sub
je veux maintenant utiliser les mots de passe pour pouvoir ouvrir une UF po=
ur introduire les données:
j’utilise ce code, le problème il ne controle que la cellule a1.
les autres cellules de la colonne a ne sont pas reconnues.
comment modifier ce code ou un autre code pour utiliser les mot de passes q=
ui sont dans la colonne A.
et merci d'avance.
Sub Controle_Passe()
If M <> Sheets(6).[a1] Then
Else
MsgBox "bon mot de passe"
Me.Hide
userform1.Show
If M <> Sheets(6).[a2] Then
MsgBox "Erreur passe"
Me.Hide
Else
MsgBox "bon mot de passe"
Me.Hide
userform1.Show
End If
End If
End Sub
Je n'ai pas trop compris ce que tu voulais faire...
je te propose ceci. Suppose que tu as une liste de mot de passe et que tu veux
valider si le mot de passe saisi par un usager fait partie de cette liste.
A ) Dans le haut d'un module standard, tu définis la variable suivante :
Public LesMotDePasse()
B ) Dans le ThisWorkbook du classeur, tu peux insérer ceci :
'---------------------------------------------
Private Sub Workbook_Open()
Dim M As String, X As Variant
ReDim LesMotDePasse(1 To 5)
'Liste des mots de passe disponible
LesMotDePasse(1) = "toto1"
LesMotDePasse(2) = "toto2"
LesMotDePasse(3) = "toto3"
LesMotDePasse(4) = "toto4"
LesMotDePasse(5) = "toto5"
'Si tu veux vérifier qu'un mot de passe fait partie de la liste:
M = "Totog1" ' "LeMotDePasse"
With Application
X = .Index(LesMotDePasse, .Match(M, LesMotDePasse, 0))
End With
If IsError(X) Then
Err = 0
MsgBox "Le mot de passe n'est pas bon."
Else
If X = M Then
MsgBox "Le mot de passe est bon."
Else
MsgBox "Le mot de passe n'est pas bon."
End If
End If
End Sub
'---------------------------------------------
C ) Au lieu de définir les mots de passe pour chaque item du tableau, si tes mots de
passe sont dans une plage de donnée, tu peux utiliser ceci :
'---------------------------------------------
Private Sub Workbook_Open()
Dim M As String, X As Variant, Rg As Range
With Worksheets("Feuil1")
Set Rg = .Range("A1:A10")
End With
'Si tu veux vérifier qu'un mot de passe fait partie de la liste:
M = "Toto1" ' "LeMotDePasse à vérifier
With Application
X = .Index(Rg, .Match(M, Rg, 0))
End With
If IsError(X) Then
Err = 0
MsgBox "Le mot de passe n'est pas bon."
Else
If X = M Then
MsgBox "Le mot de passe est bon."
Else
MsgBox "Le mot de passe n'est pas bon."
End If
End If
End Sub
'---------------------------------------------
MichD
---------------------------------------------------------------
Un peu à l'aveuglette :
Sub Controle_Passe()
If M <> Sheets(6).[a1] Then
Else
MsgBox "bon mot de passe"
Me.Hide
userform1.Show
End If
If M <> Sheets(6).[a2] Then
MsgBox "Erreur passe"
Me.Hide
Else
MsgBox "bon mot de passe"
Me.Hide
userform1.Show
End If
End Sub
Daniel