Protection cellulaire uniquement pour les formules utilisant VBA dans Microsoft Excel
Dans cet article, nous utiliserons l’événement de modification de la feuille de calcul pour protéger les cellules contenant des formules.
Les données brutes se composent des données sur les ventes des employés, qui comprennent la bifurication par mois et par année.
Nous voulons connaître les ventes totales par mois, ainsi que par année.
Nous avons utilisé la fonction de somme pour calculer les ventes totales sur une base mensuelle et annuelle. L’événement de modification de la feuille de calcul est utilisé pour protéger les cellules contenant des formules. Lorsque nous essayons de modifier une cellule contenant une formule, nous obtenons un message contextuel indiquant que la valeur de la cellule ne peut pas être modifiée.
Explication du code
La méthode rng.HasFormula HasFormula retournera True si une cellule contient une formule.
Sinon, il retournera False.
ActiveSheet.Protect Le code ci-dessus est utilisé pour protéger une cellule.
Remarque: une cellule ne sera protégée que si elle est verrouillée. Donc, avant de protéger une cellule, elle doit être verrouillée. ActiveSheet.Unprotect Le code ci-dessus est utilisé pour déprotéger une cellule.
Veuillez suivre ci-dessous pour le code
'Add below code in worksheet module Option Explicit Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rng As Range For Each rng In Target.Cells If rng.HasFormula Then ActiveSheet.Protect Else ActiveSheet.Unprotect End If Next rng End Sub
Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.
Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer notre travail et l’améliorer pour vous. Écrivez-nous à [email protected]