Verrouiller cellule selon condition

Bonjour,

Je souhaiterai qu’à l’ouverture d’un fichier Excel, toutes les cellule soient verrouillées excepté celles qui contiennent le mot « NON ».
J’ai déjà effectué quelques recherches mais je n’ai rien trouvé…

Quelqu'un aurait-il une idée à me soumettre...?

Merci par avance de votre aide.

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    Pour pouvoir te répondre il nous faut des précisions.

    • Toutes les cellules, de quoi ? De tous les onglets du classeur ? D'un onglet spécifique, lequel ?
    • Tu veux juste verrouiller les cellules ou verrouiller les cellules et protéger le ou les onglets ?
    • Le ou les onglet sont-ils déjà protégés ? Mot de passe pu pas ?

    ---
    À plus,
    ThauTheme
    1. Bonjour,
      Merci de votre intérêt.
      En réalité, j'ai mis en place une macro afin que les cellules d'une plage donnée se verrouille après saisie afin de protéger l'onglet et qu'il n'y ai plus de saisie possible par la suite:

      Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect(Target, Range("a1:a20")) Is Nothing Then
      ActiveSheet.Unprotect
      Target.Locked = True
      ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
      End If
      Target.Select
      End Sub

      Cependant, j'aimerai que lorsqu'on rouvre le fichier, les cellules qui contiennent le mot "NON" se déverrouille afin que l'on puisse saisir quelque chose par dessus.

      J'espère vous avoir donné assez d'éléments...

      Merci pour votre aide
  2. Re,

    Non pas assez !... Mais j'en ai mare de devoir tirer les vers du nez...
    Essaie ça :

    Private Sub Workbook_Open()
    Dim CEL As Range
    
    With Sheets("Feuil1") 'a adapter
        .Unprotect
        For Each CEL In .Cells.SpecialCells(xlCellTypeConstants)
            If UCase(CEL.Value) = "NON" Then CEL.Locked = False
        Next CEL
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        .Select
    End With
    End Sub

    1. C'est parfait!!

      Vous voyez, vous aviez assez d'éléments en fin de compte, vous m'avez trouvé la solution tout de suite :-)

      Merci beaucoup et bonne continuation