A. Allez dans THISWORBOOK et mettez ce code
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Feuil1.Protect adm
End Sub
B. Allez dans le module 2
-- ajoutez cette ligne au dessus des codes (là où vous avez Option explicit, etc...)
Public i As Byte
--- ajoutez ce code en dessous des deux codes présents (planning et maj)
Sub acceder()
Dim Message As String, Title As String
Dim mdp
If Feuil1.ProtectContents = True Then
Message = "Saisissez le mot de passe"
Title = "Mot de passe"
If i > 3 Then MsgBox "3 tentatives max ": Exit Sub
mdp = Application.InputBox(Message, Title)
If mdp = 0 Then
MsgBox "Vous avez annulé", vbInformation, "Annulation": Exit Sub
ElseIf mdp = "" Then
MsgBox "Vous n'avez rien saisi", vbInformation, "Annulation": Call acceder
ElseIf mdp = adm Then
MsgBox "Accès accordé", vbInformation, "Autorisation"
Feuil1.Unprotect adm
Call planning
ElseIf mdp <> adm And mdp <> "" Then
MsgBox "Mauvais mot de passe", vbCritical, "Erreur mot de passe": i = i + 1: Call acceder
End If
End If
'i = 0
End Sub
-- Allez dans le code Planning, et désactivez toutes les lignes Unprotect et Protect
-- Modifiez le code associé au bouton "Mise à jour" afin de l'attribuer à la Sub Acceder()
C. Allez dans l'USF, code Private Sub CommandButton1_Click() et désactivez la ligne CALL PLANNING (elle se trouve juste après CALL TRIER)
Fermer votre fichier et faites un test
Remarque importante : une chose que ne vous ai pas dites. Ne dupliquez jamais votre feuille "provisio". Si vous changez d'année par exemple, c'est toujours cette feuille que vous devez utiliser. Donc ce que vous devez faire en cas d'archive c'est dupliquer la feuille et renommer la feuille dupliquée.
En gros votre feuille de travail est toujours l'actuelle. A votre place, j'éviterais d'ajouter 2024 dans le nom de la feuille pour éviter tout problème