Signaler

Verrouiller cellule selon condition

Posez votre question MKCS 14Messages postés mercredi 8 juin 2016Date d'inscription 23 septembre 2016 Dernière intervention - Dernière réponse le 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.
Afficher la suite 
Utile
+0
moins plus
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
MKCS 14Messages postés mercredi 8 juin 2016Date d'inscription 23 septembre 2016 Dernière intervention - 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
Répondre
Ajouter un commentaire
Utile
+0
moins plus
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

MKCS 14Messages postés mercredi 8 juin 2016Date d'inscription 23 septembre 2016 Dernière intervention - 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
Répondre
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !