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
13
Affichages
314
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…