Verrouiller cellule selon condition

Fermé
MKCS Messages postés 21 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 9 mai 2018 - 23 sept. 2016 à 09:48
MKCS Messages postés 21 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 9 mai 2018 - 23 sept. 2016 à 11:48
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

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
23 sept. 2016 à 10:48
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
MKCS Messages postés 21 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 9 mai 2018
23 sept. 2016 à 11:08
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
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
23 sept. 2016 à 11:27
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
MKCS Messages postés 21 Date d'inscription mercredi 8 juin 2016 Statut Membre Dernière intervention 9 mai 2018
23 sept. 2016 à 11:48
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