Comment verrouiller ou protéger des cellules après la saisie de données dans Excel ?
Supposons que vous ayez une feuille de calcul et qu'une certaine plage de cellules vides nécessite une saisie de données. Après avoir terminé la saisie, vous souhaitez que ces cellules soient verrouillées automatiquement afin d'éviter toute modification ultérieure. Comment pouvez-vous réaliser cela ? Cet article peut vous aider.
Verrouiller ou protéger des cellules après la saisie de données avec du code VBA
Verrouiller ou protéger des cellules après la saisie de données avec du code VBA
Par exemple, la plage spécifique de cellules vides est A1:F8. Veuillez suivre les étapes ci-dessous pour verrouiller ces cellules après la saisie de données dans Excel.
1. Veuillez d'abord déverrouiller cette plage en sélectionnant les cellules, en faisant un clic droit, puis en choisissant Définir le format des cellules dans le menu contextuel. Dans la boîte de dialogue Définir le format des cellules, décochez la case Verrouiller sous l'onglet protection, puis cliquez sur le bouton OK. Voir capture d'écran :
2. Cliquez sur Révision > Protéger la feuille. Ensuite, spécifiez un mot de passe pour protéger cette feuille de calcul.
3. Faites un clic droit sur l'onglet de la feuille, puis sélectionnez Afficher le code dans le menu contextuel. Copiez et collez ensuite le code VBA ci-dessous dans la fenêtre Code. Voir capture d'écran :
Code VBA : Verrouiller ou protéger des cellules après la saisie de données
Dim mRg As Range
Dim mStr As String
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
Set mRg = Target.Item(1)
mStr = mRg.Value
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xRg As Range
On Error Resume Next
Set xRg = Intersect(Range("A1:F8"), Target)
If xRg Is Nothing Then Exit Sub
Target.Worksheet.Unprotect Password:="123"
If xRg.Value <> mStr Then xRg.Locked = True
Target.Worksheet.Protect Password:="123"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("A1:F8"), Target) Is Nothing Then
Set mRg = Target.Item(1)
mStr = mRg.Value
End If
End Sub
Remarque : Dans le code, « A1:F8 » est la plage où vous devez entrer des données ; et « 123 » est le mot de passe pour la feuille de calcul protégée. Veuillez les modifier selon vos besoins.
4. Appuyez simultanément sur les touches Alt + Q pour fermer la fenêtre Microsoft Visual Basic pour Applications.
Après avoir terminé la saisie des données dans les cellules de la plage A1:F8, elles seront verrouillées automatiquement. Vous recevrez une boîte de dialogue d'avertissement si vous essayez de modifier le contenu de n'importe quelle cellule de cette plage. Voir capture d'écran :
Articles connexes :
- Comment verrouiller toutes les références de cellules dans les formules en une seule fois dans Excel ?
- Comment verrouiller ou déverrouiller des cellules en fonction des valeurs d'une autre cellule dans Excel ?
- Comment verrouiller une image dans ou à l'intérieur d'une cellule dans Excel ?
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification 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, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!