Cellules protégées automatiquement

Résolu/Fermé
Medic911 Messages postés 9 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 15 juillet 2010 - 8 juil. 2010 à 11:35
Raymond PENTIER Messages postés 58770 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 décembre 2024 - 21 août 2010 à 01:44
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 !


6 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 950
Modifié par Mytå le 8/07/2010 à 18:30
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)]
0
Raymond PENTIER Messages postés 58770 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 décembre 2024 17 259
8 juil. 2010 à 19:59
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 ...
0
g Messages postés 1262 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 15 mai 2017 575
Modifié par g le 9/07/2010 à 08:45
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.
0
Raymond PENTIER Messages postés 58770 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 décembre 2024 17 259
21 août 2010 à 00:40
Alors, Medic911, ta question est résolue, ou pas ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 950
21 août 2010 à 01:37
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å

0
Raymond PENTIER Messages postés 58770 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 23 décembre 2024 17 259
21 août 2010 à 01:44
Merci. Je bascule donc en "Résolu".
0