Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Verrouillage liste déroulante VBA

  • 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 travaille sous Excel 97 et j'ai effectué un questionnaire il y a quelques temps dans lequel l'utilisateur répond par des choix dans des listes déroulantes. Suivant certaines réponses, les réponses suivantes sont imposées et verrouillées.
J'ai quelques modifications à effectuer sur le fichier et j'ai repris le code VBA de l'époque qui fonctionne très bien en modifiant juste les coordonnées des cellules et l'intitulé des réponses.
Je n'obtiens pas du tout le même résultat alors que le code est le même et l'action souhaitée la même également.
Voici le code source :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

ActiveSheet.Unprotect "chtx12" 'déprotège l'onglet

Application.EnableEvents = False ' Empècher les évènements lors de la modification
'Si la réponse à la première question est "Aucune" alors...
If Cells(5, 16).Value = "Aucune" Then
'L'utilisatuer ne répond pas à la question 2. et on verrouille la cellule.
Range("P6").Value = "X"
Range("P6").Locked = True
End If

'Si la réponse à la première question est "Aide personnalisée" alors...
If Cells(5, 16).Value = "Aide personnalisée" Then
'L'utilisateur doit répondre à la question 2. alors on déverrouille cellule.
Range("P6").Locked = False
End If

'Si la réponse à la première question est "Aide méthodologique" alors...
If Cells(5, 16).Value = "Aide méthodologique" Then
'L'utilisateur doit répondre à la question 2. alors on déverrouille cellule.
Range("P6").Locked = False
End If

'Si la réponse à la première question est "Les deux" alors...
If Cells(5, 16).Value = "Les deux" Then
'L'utilisateur doit répondre à la question 2. alors on déverrouille cellule.
Range("P6").Locked = False
End If

'Si la réponse à la première question est "X" alors...
If Cells(5, 16).Value = "X" Then
'L'utilisatuer ne répond pas à la question 2. et on verrouille la cellule.
Range("P6").Value = "X"
Range("P6").Locked = True
End If

'Si la réponse à la première question est "Non" alors...
If Cells(22, 16).Value = "Non" Then
'L'utilisatuer ne répond pas à la question 2. et on verrouille la cellule.
Range("P23").Value = "X"
Range("P23").Locked = True
End If

'Si la réponse à la première question est "Oui" alors...
If Cells(22, 16).Value = "Oui" Then
'L'utilisateur doit répondre à la question 2. alors on déverrouille cellule.
Range("P23").Locked = False
End If

'Si la réponse à la première question est "X" alors...
If Cells(22, 16).Value = "X" Then
'L'utilisateur doit répondre à la question 2. alors on déverrouille cellule.
Range("P23").Locked = False
End If

Application.EnableEvents = True ' rétablir les évènements

ActiveSheet.Protect "chtx12" 'protège l'onglet

End Sub



Pour la cellule P23 le verrouillage s'effectue alors que pour la P6 il ne s'effectue pas.
Le fait que la cellule P6 soit une cellule fusionnée peut-il avoir une incidence ?
 
Re : Verrouillage liste déroulante VBA

Bonjour maho7 le forum
si tu avais mis le fichier avec les explications dedans tu aurais déjà ta réponse.
et aussi quand tu mets un code, tu peux apprendre à te servir des balises de code, tu sélectionnes tout le code vba et ensuite tu cliques sur le # dans la barre d'outils au dessus ( il est possible que ce # ne soit présent que si tu cliques en bas à gauche sur Aller en mode avancé)
a+
Papou😱
 
- 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
202
Réponses
1
Affichages
180
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
171
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…