Cellules protégées automatiquement
Résolu
Medic911
Messages postés
10
Statut
Membre
-
Raymond PENTIER Messages postés 58213 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 58213 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Sur une colonne, des employés doivent entrer les heures supplémentaires effectuées.
A1 = 2h00 B1 = VALIDÉ
A2 = 1h30 B2 = NON VALIDÉ
A3 = 1h00 B3 = NON VALIDÉ
Une fois que j'ai validé ces heures, j'écris dans la colonne "B" VALIDÉ.
Est-il possible que la cellule des heures se protège automatiquement, une fois que j'ai inscrit VALIDÉ ?
Le but est d'éviter que les heures soient modifées une fois qu'elles ont été validée.
Merci !
Sur une colonne, des employés doivent entrer les heures supplémentaires effectuées.
A1 = 2h00 B1 = VALIDÉ
A2 = 1h30 B2 = NON VALIDÉ
A3 = 1h00 B3 = NON VALIDÉ
Une fois que j'ai validé ces heures, j'écris dans la colonne "B" VALIDÉ.
Est-il possible que la cellule des heures se protège automatiquement, une fois que j'ai inscrit VALIDÉ ?
Le but est d'éviter que les heures soient modifées une fois qu'elles ont été validée.
Merci !
6 réponses
-
Salut le Forum
Medic911, c'est bien de poser des questions.
Mais fait l'effort de mettre tes 2 autres questions en résolu et de remercier pour les réponses.
Lien #1 : Ta premier question
Lien #2 : Ta deuxième question
Pour le moment, je me garde de te fournir une réponse. . .
Mytå
Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)] -
Ma réponse : NON !
Mais au lieu de taper "Validé", tu as presque aussi vite fait de déprotéger la feuille, de verrouiller la cellule de la colonne A et de reprotéger !
C'est simple et efficace.
Mais peut-être qu'un membre de CCM connaissant VBA pourra te mettre ça sous forme de macro ... -
Bonjour,
Essaie ce code qui est à copier dans le module de ta feuille concernée:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Offset(0, 0) = "VALIDE" Then
ActiveSheet.Unprotect
Target.Offset(0, -1).Select
Selection.Locked = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ElseIf Target.Column = 2 And Target.Offset(0, 0) <> "VALIDE" Then
ActiveSheet.Unprotect
Target.Offset(0, -1).Select
Selection.Locked = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
Précision: Il faut préalablement désactiver le Verrouillage des cellules de toute la page.
Bonne journée. -
Alors, Medic911, ta question est résolue, ou pas ?
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Re le forum
Son problème a été résolu sur un autre forum avec cette macro (Colonne H)
(Le verrouillage des cellules doit être désactivé au préalable)
Sub Validation() ' Touche de raccourci du clavier: Ctrl+a ' With ActiveCell If .Locked Then Exit Sub If .Column = 8 Then .Value = "Validé" ActiveSheet.Unprotect Range(Cells(.Row, 1), Cells(.Row, 6)).Locked = True Cells(.Row, 8).Locked = True ActiveSheet.Protect End If End With End Sub
Mytå
-
Merci. Je bascule donc en "Résolu".