Verrouiller/Déverrouiller une cellule selon l'état d'une autre
Résolu
Mistral_13200
Messages postés
649
Statut
Membre
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 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
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
5 réponses
-
Bonjour,
E11 est rempli manuellement ? par formule ? par macro ?
Si non manuel, un extrait de ton classeur est nécessaire.
eric
-
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 -
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
-
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.-
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
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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?