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