Comment verrouiller des cellules en fonction de la couleur dans Microsoft Excel

Microsoft Excel vous permet d’appliquer une mise en forme conditionnelle aux cellules. Si la valeur d’une cellule répond à certaines règles que vous avez définies, la fonction de mise en forme conditionnelle modifie la couleur du texte dans la cellule, la couleur de remplissage ou les deux. Il s’agit d’une fonctionnalité de base qui fonctionne dès la sortie de la boîte, mais si vous souhaitez verrouiller des cellules en fonction de la couleur, vous avez besoin d’un petit script VBA pour le faire.

Vous pouvez utiliser la mise en forme conditionnelle pour modifier la couleur d’une cellule ou vous pouvez modifier manuellement la couleur en ce que vous voulez. Le script VBS ne dépend pas du formatage conditionnel pour verrouiller les cellules. Il a juste besoin d’une cellule pour être colorée.

  Comment ajouter des numéros de ligne à un document Microsoft Word

Verrouiller les cellules en fonction de la couleur

Avant de pouvoir créer un script VBA, vous devez connaître la couleur de la cellule que vous référencez. VBA ne voit pas les couleurs telles qu’elles sont; il les référence via leurs codes couleurs.

La première chose à faire est de donner une couleur à votre cellule. Nous avons opté pour le jaune de base qui est assez facile à référencer. Si vous optez pour une couleur différente, utiliser ce site pour trouver le code couleur que vous devez utiliser. Le code couleur que nous utilisons pour le jaune est # FFFF00.

  Comment créer un compte local lors de la configuration de Windows 10

Dans Excel, activez l’onglet Développeur, puis basculez-y. Cliquez sur le bouton Visual Basic et collez ce qui suit dans «Cette feuille de calcul». Ce script a été écrit par l’utilisateur superutilisateur Dave.

Sub WalkThePlank()

dim colorIndex as Integer
colorIndex = FFFF00

Dim rng As Range

For Each rng In ActiveSheet.UsedRange.Cells

Dim color As Long
color = rng.Interior.ColorIndex
If (color = colorIndex) Then 
rng.Locked = True
else
rng.Locked = false 
End If

Next rng

End Sub

Exécutez le script et il verrouille toutes les cellules de la couleur que vous avez définie. Le code de couleur que vous avez trouvé pour votre couleur sera défini dans cette ligne du script;

colorIndex = FFFF00

Le FFFF00 représente la couleur jaune et c’est ce que vous devez remplacer par le code de couleur appliqué à la couleur que vous utilisez. Il faut mentionner qu’il est préférable d’opter pour une couleur de base. Une fois que vous l’avez ajouté, vous devrez enregistrer votre fichier Excel en tant que fichier prenant en charge les macros ou le script VBA ne sera pas enregistré.

  Correction de l'erreur DRIVER IRQL_LESS_OR_NOT_EQUAL dans Windows 10

Les cellules verrouillées peuvent être facilement déverrouillées. Le verrou n’est pas un verrou protégé par mot de passe et empêche les autres personnes de modifier la valeur d’une cellule si elles le souhaitent. C’est un verrou ordinaire qui empêche les modifications accidentelles du fichier.