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   -
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

5 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

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

    eric
    0
  2. Mistral_13200 Messages postés 649 Statut Membre 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
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
  4. Mistral_13200 Messages postés 649 Statut Membre 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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mistral_13200 Messages postés 649 Statut Membre 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
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour,

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