Microsoft 365 Déprotéger un onglet en sélectionnant une valeur dans une liste déroulante

  • Initiateur de la discussion Initiateur de la discussion PatFr38
  • 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 !

PatFr38

XLDnaute Nouveau
Bonjour, à toutes et tous.

J'ai réussi à faire en sorte que, lors de la sélection d'une cellule dans l'onglet actif, ce dernier soit déprotégé, une macro soit activée pour masquer des lignes, puis que l'onglet actif soit protégé à nouveau. Par contre, j'ai essayé plusieurs méthodes, avec Worksheet_SelectionChange et Worksheet_Change, pour tenter de faire en sorte que, lors de la sélection d'une valeur (dans mon cas, un mois de l'année) dans une liste déroulante, l'onglet actif soit déprotégé et qu'une macro soit activée pour masquer des colonnes de mois précédent le mois sélectionné. Effectivement, la solution la plus simple est de déprotéger manuellement l'onglet, mais ce n'est pas l'objectif recherché... Je vous joins un fichier d'exemple. Un grand merci d'avance à celle/celui qui pourra me trouver la bonne solution.
 

Pièces jointes

Solution
Bonjour, à toutes et tous.

J'ai réussi à faire en sorte que, lors de la sélection d'une cellule dans l'onglet actif, ce dernier soit déprotégé, une macro soit activée pour masquer des lignes, puis que l'onglet actif soit protégé à nouveau. Par contre, j'ai essayé plusieurs méthodes, avec Worksheet_SelectionChange et Worksheet_Change, pour tenter de faire en sorte que, lors de la sélection d'une valeur (dans mon cas, un mois de l'année) dans une liste déroulante, l'onglet actif soit déprotégé et qu'une macro soit activée pour masquer des colonnes de mois précédent le mois sélectionné. Effectivement, la solution la plus simple est de déprotéger manuellement l'onglet, mais ce n'est pas l'objectif recherché... Je vous joins un fichier...
Bonjour, à toutes et tous.

J'ai réussi à faire en sorte que, lors de la sélection d'une cellule dans l'onglet actif, ce dernier soit déprotégé, une macro soit activée pour masquer des lignes, puis que l'onglet actif soit protégé à nouveau. Par contre, j'ai essayé plusieurs méthodes, avec Worksheet_SelectionChange et Worksheet_Change, pour tenter de faire en sorte que, lors de la sélection d'une valeur (dans mon cas, un mois de l'année) dans une liste déroulante, l'onglet actif soit déprotégé et qu'une macro soit activée pour masquer des colonnes de mois précédent le mois sélectionné. Effectivement, la solution la plus simple est de déprotéger manuellement l'onglet, mais ce n'est pas l'objectif recherché... Je vous joins un fichier d'exemple. Un grand merci d'avance à celle/celui qui pourra me trouver la bonne solution.
Bonjour,
Une proposition :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("A4") = "Février" Then
        Columns("C:C").EntireColumn.Hidden = True
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A4")) Is Nothing Then ActiveSheet.Unprotect Else ActiveSheet.Protect
End Sub
Cordialement,
 
- 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

Retour