Comment protéger les cellules en fonction de la date dans Excel?
Normalement, nous pouvons protéger la feuille de calcul pour empêcher d'autres personnes de modifier ou de modifier les valeurs de cellule, mais, parfois, vous devez protéger les cellules en fonction de la date. Par exemple, je souhaite protéger d'autres cellules, mais autoriser uniquement la modification des valeurs de cellule de la date du jour, comme illustré ci-dessous, cet article explique comment protéger les cellules en fonction de la date.
Protégez toutes les lignes sauf la ligne de date du jour avec le code VBA
Protégez toutes les lignes que la date est passée avec le code VBA
Protégez toutes les lignes sauf la ligne de date du jour avec le code VBA
Autorisez uniquement la modification de la ligne correspondant à la date du jour, le code suivant peut vous aider, procédez comme suit:
1. Cliquez avec le bouton droit sur l'onglet de la feuille dont vous souhaitez protéger les cellules en fonction de la date, puis choisissez Voir le code dans le menu contextuel, dans le popped out Microsoft Visual Basic pour applications , veuillez copier et coller le code suivant dans le module vide:
Code VBA: Protégez toutes les lignes sauf la ligne de date du jour:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby Extendoffice 20161025
If Range("E" & Selection.Row).Value <> Date Then
ActiveSheet.Protect Password:="111111"
MsgBox "Only today's date row can be edited!", vbInformation, "Kutools for Excel"
ElseIf Range("E" & Selection.Row).Value = Date Then
ActiveSheet.Unprotect Password:="111111"
ActiveSheet.EnableSelection = xlNoRestrictions
End If
End Sub
Notes: Dans le code ci-dessus, la lettre E est l'en-tête de colonne où se trouve la date, "111111»Est le mot de passe pour protéger cette feuille. Vous pouvez les modifier selon vos besoins.
2. Ensuite, enregistrez et fermez cette fenêtre de code.
(1.) Si vous cliquez sur d'autres cellules au-delà de la ligne de date d'aujourd'hui, une boîte de dialogue apparaîtra pour vous rappeler que la cellule ne peut pas être modifiée, voir capture d'écran:
(2.) Si vous cliquez et modifiez la ligne égale la date du jour, elle sera modifiée avec succès, voir capture d'écran:
Protégez toutes les lignes que la date est passée avec le code VBA
Si vous devez protéger toutes les lignes dont la date est passée, autorisez uniquement la modification des lignes de date d'aujourd'hui et de demain, veuillez appliquer le code VBA suivant:
1. Cliquez avec le bouton droit sur l'onglet de la feuille dont vous souhaitez protéger les cellules en fonction de la date, puis choisissez Voir le code dans le menu contextuel, dans le popped out Microsoft Visual Basic pour applications , veuillez copier et coller le code suivant dans le module vide:
Code VBA: la date de protection de toutes les lignes est passée:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Updateby Extendoffice 20161025
Dim xRow As Long
xRow = 2
ThisWorkbook.ActiveSheet.Unprotect Password:="111111"
ThisWorkbook.ActiveSheet.Cells.Locked = False
Do Until IsEmpty(Cells(xRow, 5))
If Cells(xRow, 5) < Date Then
Rows(xRow).Locked = True
End If
xRow = xRow + 1
Loop
ThisWorkbook.ActiveSheet.Protect Password:="111111"
End Sub
Notes: Dans le code ci-dessus, le numéro 5 est le numéro de colonne où se trouve la date, "111111»Est le mot de passe pour protéger cette feuille. Vous pouvez les modifier selon vos besoins.
3. Ensuite, enregistrez et fermez cette fenêtre de code.
(1.) Si vous cliquez sur la date de la cellule est passée, une boîte de dialogue apparaîtra pour vous rappeler que la cellule ne peut pas être modifiée, voir capture d'écran:
(2.) Si vous cliquez sur la cellule de lignes pour essayer de changer les valeurs à la date d'aujourd'hui ou à la date future, elle sera modifiée avec succès, voir capture d'écran:
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!