Microsoft Excel vous permet d'appliquer conditionnellemise en forme pour les cellules. Si la valeur d'une cellule respecte certaines règles que vous avez définies, la fonctionnalité de mise en forme conditionnelle modifiera la couleur du texte de la cellule, la couleur de remplissage ou les deux. Il s'agit d'une fonctionnalité de base qui fonctionne immédiatement, mais si vous souhaitez verrouiller les 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 changerla couleur d'une cellule ou vous pouvez modifier manuellement la couleur pour tout ce que vous voulez. Le script VBS ne dépend pas de la mise en forme conditionnelle pour verrouiller les cellules. Il faut juste qu'une cellule soit colorée.
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 à laquelle vous faites référence. VBA ne voit pas les couleurs telles qu’elles sont; il les référence via leurs codes de couleur.
La première chose à faire est de donner votre cellulaireune couleur. Nous sommes partis avec le jaune de base qui est assez facile à référencer. Si vous optez pour une couleur différente, utilisez ce site Web pour rechercher le code de couleur à utiliser. Le code de couleur que nous utilisons pour le jaune est # FFFF00.
Dans Excel, activez l'onglet Développeur, puis accédez-y. Cliquez sur le bouton Visual Basic et collez le texte suivant dans ‘This Worksheet’. 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 toutes les cellules correspondant à la couleur définie seront verrouillées. 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’estCe que vous devez remplacer par le code de couleur qui s’applique à la couleur que vous utilisez. Nous devrions mentionner qu’il est préférable d’utiliser une couleur de base. Une fois que vous avez ajouté cela, vous devez enregistrer votre fichier Excel en tant que fichier prenant en charge les macros, sinon le script VBA ne sera pas enregistré.
Les cellules verrouillées peuvent facilement être déverrouillées. Le verrou n’est pas protégé par un mot de passe et empêche les autres personnes de changer la valeur d’une cellule si elles le souhaitent. C’est un verrou ordinaire qui empêche les modifications accidentelles dans le fichier.
commentaires