Comment protéger des cellules en fonction de la date dans Excel ?
Généralement, nous pouvons protéger la feuille de calcul afin d’empêcher autrui de modifier ou d’éditer les valeurs des cellules. Cependant, il arrive que vous deviez protéger les cellules en fonction de la date. Par exemple, je souhaite protéger toutes les autres cellules, mais autoriser uniquement la modification des cellules correspondant à la date du jour, comme illustré dans la capture d’écran ci-dessous. Cet article explique comment protéger des cellules en fonction de la date.

Protéger toutes les lignes sauf celle correspondant à la date du jour avec un code VBA
Protéger toutes les lignes dont la date est antérieure avec un code VBA
Protéger toutes les lignes sauf celle correspondant à la date du jour avec un code VBA
Autorisez uniquement la modification de la ligne dont la date correspond à celle du jour. Le code suivant peut vous aider. Procédez comme suit :
1. Cliquez avec le bouton droit sur l’onglet de la feuille dans laquelle vous souhaitez protéger les cellules en fonction de la date, puis sélectionnez Afficher le code dans le menu contextuel. Une fois la fenêtre Microsoft Visual Basic pour Applications ouverte, copiez et collez le code suivant dans le module vide :
Code VBA : Protéger toutes les lignes sauf celle correspondant à la 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

Remarque : Dans le code ci-dessus, la lettre E correspond à l’en-tête de la colonne contenant la date, et « 111111 » est le mot de passe utilisé pour protéger cette feuille. Vous pouvez les modifier selon vos besoins.
2. Fermez ensuite cette fenêtre de code.
(1.) Si vous cliquez sur une cellule située en dehors de la ligne correspondant à la date du jour, une boîte de dialogue s’affiche pour vous informer que cette cellule ne peut pas être modifiée. Voir la capture d’écran :

(2.) Si vous cliquez sur une cellule située sur la ligne correspondant à la date du jour et que vous la modifiez, celle-ci sera mise à jour avec succès. Voir la capture d’écran :


Libérez la magie d’Excel avec Kutools IA
- Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
- formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
- Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
- Interprétation de formules : Décryptez facilement les formules complexes.
- Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Protéger toutes les lignes dont la date est antérieure avec un code VBA
Si vous devez protéger toutes les lignes dont la date est antérieure et autoriser uniquement la modification des lignes correspondant à la date du jour ou à une date ultérieure, appliquez le code VBA suivant :
1. Cliquez avec le bouton droit sur l’onglet de la feuille dans laquelle vous souhaitez protéger les cellules en fonction de la date, puis choisissez Afficher le codedans le menu contextuel. Dans la fenêtre Microsoft Visual Basic pour Applicationsqui s’ouvre, copiez et collez le code suivant dans le module vide :
Code VBA : Protéger toutes les lignes dont la date est antérieure :
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

Remarque : Dans le code ci-dessus, le numéro 5 correspond au numéro de la colonne contenant la date, et « 111111 » est le mot de passe utilisé pour protéger cette feuille. Vous pouvez les adapter à vos besoins.
3. Fermez ensuite cette fenêtre de code.
(1.) Si vous cliquez sur une cellule contenant une date antérieure, une boîte de dialogue s’affiche pour vous informer que cette cellule ne peut pas être modifiée. Voir la capture d’écran :

(2.) Si vous cliquez sur une cellule située dans une ligne dont la date est celle du jour ou une date ultérieure pour modifier ses valeurs, la modification sera appliquée avec succès. Voir la capture d’écran :

Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre 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 rend votre travail bien plus facile
- Activez 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 vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels