Protéger feuille pendant une période

Résolu/Fermé
NK98 Messages postés 4 Date d'inscription mardi 7 juillet 2015 Statut Membre Dernière intervention 8 juillet 2015 - Modifié par NK98 le 7/07/2015 à 15:18
NK98 Messages postés 4 Date d'inscription mardi 7 juillet 2015 Statut Membre Dernière intervention 8 juillet 2015 - 8 juil. 2015 à 10:32
Bonjour,
N'ayant pas trouvé réponse à ma question suite à pas mal de recherches, je préfère la poser directement pour avoir une réponse bien appropriée à mon problème.
J'ai un classeur Excel composé de plusieurs feuilles et ce que je voudrais faire c'est de protéger les feuilles suivant des périodes.
Exemple : Feuille 1 protégée pendant le mois de janvier, Feuille 2 pendant le mois de février. Dans mon cas actuel, toutes les feuilles associées donc à tous les mois excepté celui de Juillet (Feuille 7 on va dire) devraient être non-modifiables. Autrement dit, ça donnerait : Feuille 1 modifiable du 01/01/2015 au 31/01/2015 et cela pour chaque feuille, de ce fait, logiquement, une seule feuille devrait être modifiable par mois.
J'espère m'être exprimé assez compréhensiblement, merci d'avance aux courageux (ou astucieux??) qui m'aideront à trouver solution à ce problème.
A voir également:

2 réponses

via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738
7 juil. 2015 à 15:18
Bonjour

Pas clair
Toutes les feuilles doivent être protégées sauf celles du mois en cours ?
ou toutes les feuilles doivent être modifiables sauf celle du mois en cours ?
ou toutes les feuilles des mois précédents celui en cours doivent être protégées, les autres étant modifiables ?

De toute manière cela passe par une protection de toutes les feuilles et une deprotection par macro à l'ouverture du classeur

Cdlmnt
Via

2
NK98 Messages postés 4 Date d'inscription mardi 7 juillet 2015 Statut Membre Dernière intervention 8 juillet 2015
Modifié par NK98 le 7/07/2015 à 20:15
Bonsoir,
Oui c'est vrai que c'est pas très clair, désolé. Ça serait plutôt ta première proposition, c'est-à-dire toutes les feuilles protégées sauf celle du mois en cours. J'imagine de toute façon que de cette manière j'aurais tout de même une manipulation (type mot de passe?) si jamais j'avais besoin de modifier une feuille autre que celle du mois en cours. Donc oui, ce que je voudrais c'est protéger toutes les feuilles sauf celle du mois en cours. Merci de ta réponse rapide au passage.
0
via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025 2 738 > NK98 Messages postés 4 Date d'inscription mardi 7 juillet 2015 Statut Membre Dernière intervention 8 juillet 2015
7 juil. 2015 à 21:36
Re,

Macro pour protection avec mot de passe toto (à modifier à ta guise) à mettre dans ThisWorkbook (ALT +F11 pour ouvrir editeur VBA, double clic sur ThisWorlbook puis copier-coller la macro et fermer éditeur)
La macro est activée à l'ouverture du classeur
Pour accéder à une feuille protégée Onglet Revision - Oter la protection de la feuille
Même si on oublie de protéger une des 12 feuilles elles le sont toutes à l'ouverture du classeur sauf celle du mois en cours bien sûr
Private Sub Workbook_Open()
m = Month(Date)
For n = 1 To 12
If n <> m Then Sheets(n).Protect "toto" Else Sheets(n).Unprotect "toto"
Next
End Sub


Cdlmnt
Via
0
NK98 Messages postés 4 Date d'inscription mardi 7 juillet 2015 Statut Membre Dernière intervention 8 juillet 2015 > via55 Messages postés 14509 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 2 janvier 2025
8 juil. 2015 à 10:31
Re,

J'ai testé, ça fonctionne ! Merci d'avoir pris le temps de répondre, la seule feuille modifiable est bien celle de juillet désormais en attendant celle d'août. Merci encore.
0
Bonjour

posible avec une macro
Sub CacheOnglet()
Onglet = Format(DateValue(Now), "mmmm")
Sheets(Onglet).Visible = -1
   For Each Feuil In Worksheets
      If Feuil.Name <> Onglet Then
         Feuil.Visible = 2
      End If
   Next
End Sub

Sub DecacheOnglet()
   For Each Feuil In Worksheets
      Feuil.Visible = -1
   Next
End Sub

A+
Maurice
1
NK98 Messages postés 4 Date d'inscription mardi 7 juillet 2015 Statut Membre Dernière intervention 8 juillet 2015
8 juil. 2015 à 10:32
Bonjour,

la macro de via55 fonctionne pour moi, j'ai testé la tienne, elle fonctionne également. Merci de ta réponse aussi, problème résolu.
0