Verrouiller cellule selon condition

MKCS Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -  
MKCS Messages postés 21 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. ThauTheme Messages postés 1564 Statut Membre 160
     
    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
    0
    1. MKCS Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
       
      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
      0
  2. ThauTheme Messages postés 1564 Statut Membre 160
     
    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

    0
    1. MKCS Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
       
      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
      0