Bonjour,
Inscrite nouvellement à ce forum et ayant déjà posté un message pour un autre sujet, je reviens m'adresser à vous.
Je souhaiterais avoir votre aide sur cette problématique, svp :
Sur ma feuille "affectation", lorsque je clique sur le bouton "valider", je voudrais qu'il demande un mot de passe avant l'enregistrement des données dans une autre feuille. Ce fichier sera utilisé par plusieurs personnes et ce mot de passe sert à identifier la personne qui enregistre les données (je n'ai pas trouvé nécessaire de faire des identifiants)
Lorsque je valide ce mot de passe, je voudrais qu'il interroge la feuille "accès" pour vérifier si le mot de passe saisie est correcte (attention cette liste peut évoluer : Colonne A = Nom de l'utilisateur et Colonne B = mot de passe) J'ai réalisé la macro pour un mot de passe mais je ne sais pas faire : pour plusieurs utilisateurs et l'analyse des données dans une autre feuille.
Pourriez vous m'aider, svp ?
Voici mon code :
Private Sub CommandButtonValider_Click()
Dim Mdp As String, Pw As String
Pw = "test" '<-- mot de passe
recom:
Mdp = InputBox("Veuillez saisir votre mot de passe", "Mot de passe")
If Mdp = Pw Then
Dim grpe As Workbook
Set grpe = ThisWorkbook
Worksheets("AFFECTATION").Range("B6").Select
Dim k As Integer
Dim DernLign As Long
DernLign = Range("B" & Rows.Count).End(xlUp).Row
Dim NumSem As Byte
NumSem = DatePart("ww", Date, 7, 1)
Dim M As Integer, A As Integer, S As Integer
M = Month(CDate(Range("I2")))
A = Year(CDate(Range("I2")))
Dim DH As Variant
DH = Now()
For k = 6 To DernLign 'N° début et fin de la liste des morceaux
Worksheets("BDD").Visible = True
Worksheets("BDD").Select
ActiveSheet.Range("A65536").End(xlUp).Select
ActiveCell.Offset(1, 0).Value = grpe.Worksheets("AFFECTATION").Range("I2").Value
ActiveCell.Offset(1, 1).Value = NumSem
ActiveCell.Offset(1, 2).Value = M
ActiveCell.Offset(1, 3).Value = A
ActiveCell.Offset(1, 4).Value = grpe.Worksheets("AFFECTATION").Range("B2").Value
ActiveCell.Offset(1, 5).Value = grpe.Worksheets("AFFECTATION").Range("A2").Value
ActiveCell.Offset(1, 6).Value = grpe.Worksheets("AFFECTATION").Range("C2").Value
ActiveCell.Offset(1, 7).Value = grpe.Worksheets("AFFECTATION").Range("B" & k).Value
ActiveCell.Offset(1, 8).Value = grpe.Worksheets("AFFECTATION").Range("C" & k).Value
ActiveCell.Offset(1, 9).Value = grpe.Worksheets("AFFECTATION").Range("D" & k).Value
ActiveCell.Offset(1, 10).Value = grpe.Worksheets("AFFECTATION").Range("E" & k).Value
ActiveCell.Offset(1, 11).Value = grpe.Worksheets("AFFECTATION").Range("F" & k).Value
ActiveCell.Offset(1, 12).Value = grpe.Worksheets("AFFECTATION").Range("G" & k).Value
ActiveCell.Offset(1, 13).Value = grpe.Worksheets("AFFECTATION").Range("H" & k).Value
ActiveCell.Offset(1, 14).Value = grpe.Worksheets("AFFECTATION").Range("I" & k).Value
ActiveCell.Offset(1, 15).Value = grpe.Worksheets("AFFECTATION").Range("J" & k).Value
ActiveCell.Offset(1, 16).Value = Format(DH, "dd.mm.yyyy hh:mm")
ActiveCell.Offset(1, 17).Value = Mdp
Next k
Worksheets("Accueil").Activate
Worksheets("AFFECTATION").Visible = False
Else
If MsgBox("Mot de passe non valide, voulez-vous réessayer ?", vbExclamation + vbRetryCancel, "Invalide Password") = vbRetry Then GoTo recom
MsgBox ("Votre saisie n'a pas été validé. Vous devez saisir votre mot de passe pour que vos données soient prises en compte.")
End If
End Sub
Merci
Bonne journée !