Comment verrouiller ou protéger les cellules après la saisie ou 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 la saisie de données, et une fois la saisie des données terminée, vous avez besoin que les cellules soient verrouillées automatiquement afin d'éviter à nouveau des modifications. Comment pouvez-vous y parvenir? Cet article peut vous aider.
Verrouiller ou protéger les cellules après la saisie de données ou l'entrée avec le code VBA
Verrouiller ou protéger les cellules après la saisie de données ou l'entrée avec le code VBA
Par exemple, la certaine plage de cellules vides est A1: F8. Veuillez procéder comme suit pour verrouiller ces cellules après la saisie des données dans Excel.
1. Veuillez d'abord déverrouiller cette plage, sélectionnez les cellules et cliquez avec le bouton droit de la souris, puis choisissez Format de cellule dans le menu contextuel et dans le Format de cellule boîte de dialogue, décocher la case Fermé boîte sous la protection onglet, et enfin en cliquant sur le OK bouton. Voir la capture d'écran:
2. Cliquez Évaluation > Protéger la feuille. Et spécifiez un mot de passe pour protéger cette feuille de calcul.
3. Cliquez avec le bouton droit sur l'onglet de la feuille, sélectionnez Voir le code dans le menu contextuel. Ensuite, copiez et collez le code VBA ci-dessous dans la fenêtre Code. Voir la capture d'écran:
Code VBA: verrouille ou protège les cellules après la saisie ou 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
Notes: Dans le code, «A1: F8» est la plage dont vous avez besoin pour saisir les données; et «123» est le mot de passe de cette feuille de travail protégée. Veuillez les changer selon vos besoins.
4. presse autre + Q touches simultanément pour fermer le Microsoft Visual Basic pour applications fenêtre.
Une fois la saisie des données terminée dans les cellules de la plage A1: F8, elles seront verrouillées automatiquement. Et vous obtiendrez une boîte de dialogue d'invite si vous essayez de modifier le contenu d'une cellule de cette plage. Voir la capture d'écran:
Articles connexes:
- Comment verrouiller toutes les références de cellules dans les formules à la fois dans Excel?
- Comment verrouiller ou déverrouiller des cellules en fonction des valeurs d'une autre cellule dans Excel?
- Comment verrouiller une image / image dans ou à l'intérieur d'une cellule dans Excel?
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!