Verrouiller/Déverrouiller une cellule selon l'état d'une autre

Résolu
Mistral_13200 Messages postés 636 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je souhaiterais verrouiller et changer le format de trois cellules en fonction du contenu d'une autre cellule.

Si la cellule E11 = ?Lundi" ou ?Jeudi" alors les cellules de L35 à L37 sont déverrouillées et sans remplissage.

Si la cellule E11 # ?Lundi" ou ?Jeudi" alors les cellules de L35 à L37 sont verrouillées et grisées.

Merci d'avance pour votre aide.
Cordialement.
Albert
A voir également:

5 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

E11 est rempli manuellement ? par formule ? par macro ?
Si non manuel, un extrait de ton classeur est nécessaire.

eric
0
Mistral_13200 Messages postés 636 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonjour Eric,

Tout d'abord merci de t'intéresser à mon problème.
E11 est rempli à l'aide d'un choix dans une liste déroulante.
Cordialement.
Mistral
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

à tester :
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$E$11" Then Exit Sub
    With [L35:L37]
        .Locked = False
        If Target = "?Lundi" Or Target = "?Jeudi" Then
            .Interior.ColorIndex = xlNone
        Else
            .Locked = True
            .Interior.ColorIndex = 16
        End If
    End With
End Sub 

eric
0
Mistral_13200 Messages postés 636 Date d'inscription   Statut Membre Dernière intervention   4
 
Je viens d'essayer ton code et chaque fois que j'essaye une valeur en E11 j'ai un message d'erreur :

Erreur d'exécution '1004'.
Impossible de définir la propriété Locked de la classe range.

Je ne pense pas avoir commis d'erreur puisque j'ai Copier/Coller le code sur la feuille qui s'ouvre après avoir cliqué sur Afficher le code de la feuille unique de mon classeur.
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Désolé, C'est vrai que si tu demandes ça c'est que tu protèges ta feuille.
Il manquait la déprotection de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$E$11" Then Exit Sub
    ActiveSheet.Unprotect
    With [L35:L37]
        .Locked = False
        If Target = "?Lundi" Or Target = "?Jeudi" Then
            .Interior.ColorIndex = xlNone
        Else
            .Locked = True
            .Interior.ColorIndex = 16
        End If
    End With
    ActiveSheet.Protect
End Sub

Si besoin ajoute en paramètre Password:="ton_mot_de_passe"
eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mistral_13200 Messages postés 636 Date d'inscription   Statut Membre Dernière intervention   4
 
Eriiic bonjour,

Je viens de rentrer et je trouve ta réponse. Merci à toi.
Malheureusement ça ne fonctionne pas. J'ai toujours le même message.
Je souhaiterais t'envoyer mon classeur mais je souhaiterait le faire en privé plutôt que par ci-joint.
Es-tu d'accord?
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

si tu veux.
As-tu mis un mot de passe sur ta feuille ?
eric
0