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

XL 2016 Protéger Plage avec condition

Amigo

XLDnaute Occasionnel
Bonjour à tous
J'ai un planning qui s'ouvre à la date du jour.
Je souhaite protéger la zone avec un mot de passe dès le début jusqu'à aujourd'hui -1.
J'ai essayé de bidouiller un code en fouillant sur le site mais pas réussi (voir ci-joint) vu mon niveau moins d'un débutant en VBA. Il protège toute la feuille au lieu de la plage.
Merci par avance pour votre aide
Cordialement

VB:
Dim témoin As Boolean

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim MaxLig As Long, MaxCol As Integer, Lig As Long, Col As Long, C As Integer, coul As Long, champ As Range
Set f1 = Sheets("Année")
    MaxLig = f1.Range("A9").End(xlDown).Row
    MaxCol = f1.Cells(8, Columns.Count).End(xlToLeft).Column
        For Col = 3 To MaxCol
            If f1.Cells(8, Col).Value = Date Then
               Set champ = f1.Cells(9, 3).Resize(MaxLig, Col - 1)
            Exit For
                    If Not Intersect(Target, champ) Is Nothing And Not témoin Then
                       témoin = True
                       ActiveSheet.Unprotect Password:=Monpass
                       Target.Locked = True
                       ActiveSheet.Protect Password:=Monpass
                       témoin = False
                    End If
            End If
        Next Col
End Sub
 

Pièces jointes

  • Planning+fonction_compte_couleur.xlsm
    58 KB · Affichages: 7
Dernière édition:

Amigo

XLDnaute Occasionnel
merci pour cette nouvelle version.
je la testerai et vous tiendrai au courant.
Cordialement
 

Discussions similaires

Réponses
5
Affichages
89
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…