Signaler

Verouillage cellules en fonction de la date du jour excel 2013 [Résolu]

Posez votre question marcelhenri - Dernière réponse le 7 janv. 2017 à 22:02 par gbinforme
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.
Afficher la suite 
Utile
+0
plus moins
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
marcelhenri41 2Messages postés samedi 7 janvier 2017Date d'inscription 7 janvier 2017 Dernière intervention - 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?
Répondre
gbinforme 13998Messages postés lundi 18 octobre 2004Date d'inscription ContributeurStatut 9 août 2017 Dernière intervention - 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
Répondre
marcelhenri41 2Messages postés samedi 7 janvier 2017Date d'inscription 7 janvier 2017 Dernière intervention - 7 janv. 2017 à 21:56
A grand MERCI gbinforme., tu me rends la un grand service.
Répondre
gbinforme 13998Messages postés lundi 18 octobre 2004Date d'inscription ContributeurStatut 9 août 2017 Dernière intervention - 7 janv. 2017 à 22:02
Merci du retour et bonne fin de soirée.
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !