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

Microsoft 365 masquer colonne + MDP

l.et.lilou

XLDnaute Junior
Bonjour à tous,

J'essaie désespérément de trouver une solution sur les forums mais je n'y arrive pas. Peut-être pourriez vous m'aider ?

Mon classeur contient des colonnes que je voudrais masquer et verrouiller par un mot de passe : les colonnes W à DO.
Pour les cellules grisées, j'aimerais pouvoir continuer à saisir des données dessus ET pouvoir faire de la mise en forme ou ajouter des commentaires sans être bloqué par la protection du MDP.
Je vous ai mis les codes que j'ai testé mais ca me bloque l'intégralité de la feuille pour la mise en forme (mettre en couleur jaune une cellule...)

Pourriez vous me dire quel code vba faudrait il pour verrouiller des colonnes mais laisser libre d'autres cellules ?

pour info, le mot de passe dans ce fichier est "test2".

Merci à vous
 

Pièces jointes

  • Masquer colonne immo.xlsm
    88 KB · Affichages: 2

fanch55

XLDnaute Barbatruc
Bonjour, testez les codes suivants si cela correspond à votre demande :
VB:
Const MDP = "test2"
Sub Define_Lock()
' ------------------------------------------------------
'   A ne faire initialement qu'une fois (normalement) :
'       Verrouiller toutes les cellules
'   sauf celles qui sont dans la plage indiquée
' ------------------------------------------------------
    Dim L As Long
    With Worksheets("Immo")
        .Cells.Locked = True
        L = .Cells(Rows.Count, "H").End(xlUp).Row
        Union(.Range("B6:J" & L), .Range("L6:L" & L)).Locked = False
    End With
End Sub
Sub Masquer()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
   With Worksheets("Immo")
        .Activate
        .[X:DO].EntireColumn.Hidden = True
        .EnableOutlining = True
        .EnableSelection = xlUnlockedCells
        .Protect _
            Password:=MDP, _
            UserInterfaceOnly:=True, _
            DrawingObjects:=True, _
            Contents:=True, _
            Scenarios:=True, _
            AllowFormattingCells:=True, _
            AllowFormattingColumns:=True, _
            AllowFormattingRows:=True
    End With   
Application.Calculation = xlCalculationAutomatic       
End Sub
Sub Afficher()
    With Worksheets("Immo")
        .Unprotect MDP
        .[X:DO].EntireColumn.Hidden = False
    End With
End Sub
 

Discussions similaires

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