XL 2013 Mise en place VBA ou solution pour verrouiller une plage suivant la date

Ouistiti

XLDnaute Nouveau
Bonjour,

Comme je vous ai présenté, je suis administrateur SharePoint et aussi chef de projet.
J'ai un projet de mettre en place un nouveau menu sur notre portail des partenaires afin qu'ils puissent y accéder de l'extérieur.
Nous avons mit en place un fichier de saisies des effectifs prévisionnels sur un délai de 3 mois.

Je n'ai pas connaissance en macro, ni comment le mettre en place ou si y a autre solution et c'est pour ça que je fais appel à vous.

Suivant le fichier joint, tout est découpé par mois la saisie des effectifs sous chaque activité. Ce que nous souhaitons mettre en place, c'est qu'une fois à la fin du mois M, le mois M+1 soit verrouillé (plus de saisies). Par exemple, le 31/01/2020, je veux que la plage du mois de Février soit verrouillé... ensuite, le 29/02/2020, je veux que la plage du mois de Mars soit verrouillé et ainsi de suite...

Pouvez-vous m'aider à le mettre en place ? Car j'avoue que j'ai trouvé pas mal de macro mais je sais pas comment le mettre en place, le VBA, c'est la 1ère fois que j'y touche.

En vous remerciant !!!

Alexis
 

Pièces jointes

  • Saisie des effectifs SCOP DRS.xlsx
    37.1 KB · Affichages: 10

Ouistiti

XLDnaute Nouveau
Bonjour,
Oui c'est exactement ça et non, pas la possibilité de déverrouiller.
Il faudrait pas qu'ils puissent modifier aussi avant de cliquer sur le bouton 'Activer les macros" car j'ai lu qu'ils pouvaient.
Merci
 
Dernière édition:

danielco

XLDnaute Accro
Voici un essai. La feuille "Déclaration 2020" n'est visible que si les macros sont activées. Ce n'est pas fiable à 100%, mais c'est toujours ça. La macro verrouille les cellules du mois suivant et protège la feuille avec le mot de passe "MDP" tu peux le modifier dans la macro. Le projet est également protégé par le même mot de passe.

VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Sheets("Déclaration 2020").Visible = xlSheetVeryHidden
End Sub

Private Sub Workbook_Open()
  Dim Mois As String, Ligne1 As Integer, Ligne2 As Long, MoisFin As String
  With Sheets("Déclaration 2020")
    .Visible = True
    .Select
    Mois = UCase(Format(DateSerial(Year(Date), Month(Date) + 1, 1), "mmmm"))
    .Unprotect "MDP"
    Ligne1 = Application.Match(Mois, .[B:B], 0)
    On Error Resume Next
    Ligne2 = .Range(.Cells(Ligne1, 2), .Cells(1000, 2)).Find("*", , , , xlByRows, xlNext).Row - 2
    If Err.Number > 0 Then
      Ligne2 = .Range(.Cells(Ligne1, 5), .Cells(1000, 5)).Find("*", , , , xlByRows, xlPrevious).Row
    End If
    On Error GoTo 0
    .Range(.Cells(Ligne1, 2), .Cells(Ligne2, "AE")).Locked = True
    .Protect "MDP"
  End With
End Sub

Daniel
 

Pièces jointes

  • Ouistiti Saisie des effectifs SCOP DRS.xlsm
    47.1 KB · Affichages: 6

Ouistiti

XLDnaute Nouveau
Non il s'agit d'un autre, je voulais voir si y avait moyen de pouvoir ouvrir et fermer en visualisation avec les macros car sinon, ils peuvent éditer. Ca n'a pas d'impact pour les autres versions ?
Le tien, je l'ai gardé, j'ai 2 fichiers par dossier pour les partenaires donc aucuns soucis ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 169
Messages
2 085 909
Membres
103 031
dernier inscrit
Karmeliet69