utiliser mot de passe pour accéder au fichier

2 réponses
Avatar
zimou
bonjour,
je veux maintenant utiliser les mots de passe pour pouvoir ouvrir une UF po=
ur introduire les donn=E9es:
j=92utilise ce code, le probl=E8me 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"
=20
Me.Hide
=20
=20
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

2 réponses

Avatar
MichD
Bonjour,

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
---------------------------------------------------------------
Avatar
DanielCo
Bonjour,
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


bonjour,
je veux maintenant utiliser les mots de passe pour pouvoir ouvrir une UF pour
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 qui
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