Comment imposer un choix dans liste déroulante en verouillant celle-ci ?

  • Initiateur de la discussion Initiateur de la discussion maho_7
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

maho_7

XLDnaute Nouveau
Bonjour,

Je souhaite réaliser un questionnaire sur lequel les utilisateurs vont devoir répondre avec des listes de choix déjà pré-remplies.
Certaines de mes questions sont liées les unes aux autres.
Afin que cela soit plus facile à comprendre, je joins un fichier test.
Si par exemple la question 1 et la question 2 sont liées, j'aimerai que lorsque l'utilisateur choisisse "Non" en réponse à la question 1, il ne puisse plus avoir accès à la question 2 et que celle-ci affiche automatiquement "X" dans la liste déroulante.
En revanche, s'il choisit "Oui" à la question 1, alors il peut choisir sa réponse en question 2.

Merci pour votre aide.
 

Pièces jointes

Re : Comment imposer un choix dans liste déroulante en verouillant celle-ci ?

Salut Maho7

Heuuu, le fichier envoyé fait exactement ce que tu veux ...
Ou alors je n'ai rien compris 😕

A+
 
Re : Comment imposer un choix dans liste déroulante en verouillant celle-ci ?

Non, il verrouille juste la liste de choix mais si on a mis une autre réponse avant il la laisse.
J'aimerais qu'il mette automatiquement "X" en la verrouillant.
 
Re : Comment imposer un choix dans liste déroulante en verouillant celle-ci ?

Re,

Alors pour entrer dans le code, tu fais ALT+F11
Là, tu double cliques sur "Feuil1 (Feuil1)" dans la partie gauche (si tu ne vois pas cette partie : CTRL+R)

Tu remplaces tout le code par
Code:
Private Sub Worksheet_Change(ByVal Target As Range)  'à l'édition dans l'onglet
  If Target.Address <> "$C$3" Then Exit Sub  'si l'édition se fait ailleurs qu'en C3, sort de la procédure


  ' Pour tout changement de la cellule C3, mettre un X dans la cellule C8
  ActiveSheet.Unprotect  'déprotège l'onglet


  Application.EnableEvents = False  ' Empècher les évènements lors de la modification
  Range("C8").Value = "X"
  Application.EnableEvents = True  ' rétablir les évènements
  ' Traiter enssuite la valeur choisie
  If Target.Value = "Non" Then  'condition : si la valeur de A1 est égale à 2
    Cells.Locked = False  'déverrouille toutes les cellules
    Range("C8").Locked = True  'verrouille la cellule B1
  Else
    Range("C8").Locked = False  ' déverrouille la cellule B1
  End If  'fin de la condition
  
  ActiveSheet.Protect  'protège l'onglet
End Sub

A+
 
Re : Comment imposer un choix dans liste déroulante en verouillant celle-ci ?

La première partie fonctionne bien !
La cellule C8 se verrouille lorsque l'on met "Non" en C3.
En revanche si on a mis "Oui" en C8 et que l'on met "Non" en C3 alors C8 se verrouille mais n'affiche pas "X".
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
771
Réponses
36
Affichages
3 K
Retour