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 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 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
A voir également:
- Verrouiller/Déverrouiller une cellule selon l'état d'une autre
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Verrouiller cellule excel - Guide
- Remettre pc etat usine - Guide
- Aller à la ligne dans une cellule excel - Guide
- Comment verrouiller son whatsapp - Guide
5 réponses
Bonjour,
E11 est rempli manuellement ? par formule ? par macro ?
Si non manuel, un extrait de ton classeur est nécessaire.
eric
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
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 :
eric
à 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.
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 :
Si besoin ajoute en paramètre Password:="ton_mot_de_passe"
eric
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