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   -
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

  1. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   957
     
    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
  2. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    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
  3. g Messages postés 1285 Statut Membre 578
     
    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
  4. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Alors, Medic911, ta question est résolue, ou pas ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   957
     
    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
  7. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Merci. Je bascule donc en "Résolu".
    0