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

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

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

  • Exemple.xlsx
    10 KB · Affichages: 3
Solution

Gégé-45550

XLDnaute Accro
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,
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…