A partir d'une date protèger certaines cellules

Bonjour à tous!

Je vous serais reconaissant si quelqu'un avait une réponse à ma problématique.

Je cherche une formule qui d’après l’heure de la journée, n’autorise plus de modification dans certaines cellules de la journée.

En effet je partage un planning et des membres s'amusent a changer au dernier moment juste avant une réunion.

L'idée est de proteger la cellule par exemple : si la cellule X = aujourd'hui alors à partir de midi je protege les cellules de la journée.

J'espere que mon explication est claire. Je suis dèjà sur ce probleme depuis plusieurs mois et je suis certain qu'une personne d'entre vous à la réponse.

Merci, et bonne journée

Bonjour et bienvenue sur XLP ,

Wigishoff a écrit :

J'espère que mon explication est claire.

Vos explications sont bien plus claires que le classeur que vous n'avez pas joint à votre question .

Il est difficile de vous proposer quelque chose sans petit classeur représentatif anonymisé. Sinon cherchez peut-être du côté du VBA en bloquant ou débloquant les cellules en fonction de l'heure.

À plus...

bonjour WigiShoff, salut mafraise,

la protection d'Excel ne vaut rien, donc tout dépend de la bonne/mauvaise volonté de vos collègues.

Une proposition, chaque heure une colonne supplémentaire sera bloquée et le mot de passe est "MotdePasse"

une solution en formules n'existe pas.

12wigishoff.xlsb (81.87 Ko)

Bonjour et bienvenue sur le forum

Bonjour à tous

Il est vrai que la protection Excel est facilement craquée.

Voici quand même un essai qui peut repousser un non iniitié. A essayer.

Le mot de passe qui donne accès aux macros est " gmb'

25classeur2.xlsm (13.96 Ko)

Bye !

Bonjour

Merci beaucoup pour votre aide c'est exactement ça !

Merci !

Bonjour à tous ,

Comme demander un fichier est considéré par d'aucuns comme futile , voici une autre manière de procéder sans protection et donc sans mot de passe pour la protection.

Quand on sélectionne une ou ou plusieurs cellules, si une des dates correspondantes de la colonne A est la date du jour et si l'heure courante est au-delà de l'heure limite alors on sélectionne une cellule de la colonne A qui n'est pas la date du jour (la sélection faite par l'utilisateur est annulée). Si ce n'est pas le cas alors on ne touche pas à la sélection.

Autrement dit, on ne peut pas sélectionner une zone si une des dates de la colonne A est la date du jour et l'heure supérieure à l'heure limite.

L'heure limite est une constante modifiable au début du code.

nota : on a quand même mis un mot de passe pour accéder au code. C'est le mot "coucou".

edit : on pourrait aussi comme l'a fait gmb (que je salue ) annuler les modifications au lieu de sélectionner une autre zone.

Le code dans le module de la feuille"Feuil1".

Const heureLimite = "10:30"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim xrg As Range, xarea, i&
   Application.ScreenUpdating = False
   Set xrg = Intersect(Target.EntireRow, Columns(1), Me.UsedRange)
   If xrg Is Nothing Then Exit Sub
   If Time < TimeValue(heureLimite) Then Exit Sub
   For Each xarea In xrg.Areas
      For i = xarea.Count To 1 Step -1
         If IsDate(xrg(i)) Then If xrg(i) = Date Then xrg(i).Offset(-1).Select: Beep
      Next i
   Next xarea
End Sub

Re,

Plutôt que modifier la sélection, on annule les modifications si au moins un des jours de la sélection est aujourd’hui et si l'heure est supérieure ou égale à l'heure limite.

nota : le mot de passe pour accéder au code est coucou.

Le code :

Const heureLimite = "10:25"

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xrg As Range, xarea, x
   Application.ScreenUpdating = False
   Set xrg = Intersect(Target.EntireRow, Columns(1), Me.UsedRange)
   If xrg Is Nothing Or Time < TimeValue(heureLimite) Then Exit Sub
   For Each xarea In xrg.Areas: For Each x In xarea
      If x = Date Then
         On Error GoTo FIN
         Application.EnableEvents = False: Application.Undo: Application.EnableEvents = True: Beep
         Exit Sub
      End If
   Next x, xarea
FIN:
   Application.EnableEvents = True
End Sub

Merci pour vos réponse et en fichier google sheets, les marcos ne sont pas utilisable de la meme façon qu'avec Excel?

Comme nous l'annonce "mafraise" c'est mieux de travailler sur un fichier. voici un petit morceau du fichier.

https://docs.google.com/spreadsheets/d/1ljwK3Xm3YBMRl0rHNRMLSxfmwUaE7UMj8VsaGCc62wk/edit?usp=sharing

Merci beaucoup pour votre aide

Rechercher des sujets similaires à "partir date proteger certaines"