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,
Je reviens dessus car cela fonctionne très bien depuis un PC mais depuis le web, cela ne fonctionne pas. En effet, je l'ouvre depuis le Sharepoint, j'active les macros puis quand j'enregistre, le macro de la fermeture prends bien en compte mais quand je le réouvre, l'activation du macro ne se demande plus et cela reste ouvert comme si les macros ont été activer en cliquant depuis Chromes "Ouvrir avec Excel".

Que dois-je rajouter ?

VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Sheets(3).Select
Sheets(1).Visible = 2
Sheets(2).Visible = 2
Application.ScreenUpdating = True
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
Sheets(3).Select
Sheets(1).Visible = 2
Sheets(2).Visible = 2
Application.ScreenUpdating = True
End Sub

Private Sub Workbook_Open()
Application.ScreenUpdating = False
Sheets(1).Visible = -1
Sheets(1).Select
Application.ScreenUpdating = True
End Sub

Cordialement,
 

Discussions similaires

Réponses
8
Affichages
407
Réponses
3
Affichages
386

Statistiques des forums

Discussions
314 611
Messages
2 111 145
Membres
111 051
dernier inscrit
MANUREVALAND