1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| Private Sub acces()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim Passe As String 'déclare la variable Passe
Dim DL As Long 'déclare la variable DL (Dernière Ligne)
Dim i As Long
Passe = Application.InputBox(Prompt:="Entrez votre mot de passe :", Title:="Mot de passe", Type:=2) 'définit la boîte d'entrée Passe
If Passe = False Then Exit Sub 'si Passe = [Annuler], sort de la procédure
Do While Passe <> "T" And Passe <> "C"
MsgBox Prompt:="Erreur de saisie" & Chr(13) & "Vous devez saisir ""T"" ou ""C"".", Buttons:=vbCritical, Title:="Erreur"
Loop
Set O = ThisWorkbook.Worksheets("legume") 'définit l'onglet O
With O
.Unprotect Password:="mercatog"
DL = .Cells(.Rows.Count, "D").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne D de l'onglet O
For i = 1 To DL 'boucle sur toutes les lignes éditée I de la colonne D de l'onglet O
Select Case Passe 'agit en fonction de la valeur de Passe
Case Is = "T" 'cas "T"
.Cells(i, "E").Resize(1, 22).Locked = (.Cells(i, "D").Value <> "Tomate") 'déverrouille les cellules ligne I des colonnes E à Z
Case Is = "C" 'cas "C"
.Cells(i, "E").Resize(1, 22).Locked = (.Cells(i, "D").Value <> "Concombre") 'déverrouille les cellules ligne I des colonnes E à Z
End Select 'fin de l'action en fonction la valeur de Passe
Next i
.Protect Password:="mercatog"
End With
Set O = Nothing
End Sub |
Partager