Verouillage cellules en fonction de la date du jour excel 2013

Résolu/Fermé
marcelhenri - 7 janv. 2017 à 09:03
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 7 janv. 2017 à 22:02
Bonjour à tous,

En simplifiant, j'ai un tableau mensuel comportant 31colonnes, comme le nombre de jours dans le mois. Je souhaiterais, en VBA, en fonction de la date du jour, verrouiller les colonnes précedantes:
Ex1 : nous somme le 12 et je veux verouiller les colonnes(jours) de 1 à 10
Ex2: nous somme le 25 et je veux verouiller les colonnes(jours) de 1 à 23
Merci de votre aide.
A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
7 janv. 2017 à 10:15
Bonjour,

Comme je suppose que tu as plusieurs mois, cette macro à mettre dans Thisworkbook devrait répondre à ta demande :
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim col As Long
    With ActiveSheet
        .Unprotect
        .Cells.Locked = False
        For col = 1 To Day(Date) - 1
            .Columns(col).Locked = True
        Next col
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        .EnableSelection = xlUnlockedCells
    End With
End Sub
0
marcelhenri41 Messages postés 2 Date d'inscription samedi 7 janvier 2017 Statut Membre Dernière intervention 7 janvier 2017
7 janv. 2017 à 21:20
Merci gbinforme pour la réponse.
Et sans vouloir abuser, si sur la colonne en question , je ne veux verouller que les lignes de 5 à 20par exemple?
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
7 janv. 2017 à 21:37
Bonsoir,
Seule la ligne de verrouillage change :
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim col As Long
    With ActiveSheet
        .Unprotect
        .Cells.Locked = False
        For col = 1 To Day(Date) - 1
            .Cells(5, col).Resize(16, 1).Locked = True
        Next col
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        .EnableSelection = xlUnlockedCells
    End With
End Sub
0
marcelhenri41 Messages postés 2 Date d'inscription samedi 7 janvier 2017 Statut Membre Dernière intervention 7 janvier 2017 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
7 janv. 2017 à 21:56
A grand MERCI gbinforme., tu me rends la un grand service.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
7 janv. 2017 à 22:02
Merci du retour et bonne fin de soirée.
0