Verrouillage liste déroulante VBA

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 ?
 

Paritec

XLDnaute Barbatruc
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:eek:
 

Statistiques des forums

Discussions
314 485
Messages
2 110 094
Membres
110 659
dernier inscrit
milckush