Microsoft Excel offre la possibilité d’appliquer une mise en forme conditionnelle aux cellules. Cette fonctionnalité permet de modifier l’apparence d’une cellule, comme la couleur du texte ou de l’arrière-plan, si sa valeur remplit certaines conditions définies. Bien que cette fonction soit disponible par défaut, il est nécessaire d’utiliser un petit script VBA pour verrouiller des cellules en fonction de leur couleur.
Il est possible de changer la couleur d’une cellule en utilisant la mise en forme conditionnelle ou manuellement. Le script VBA pour verrouiller les cellules ne dépend pas du formatage conditionnel. Il suffit qu’une cellule ait une couleur spécifique.
Verrouillage des cellules selon leur couleur
Avant de créer le script VBA, il est crucial de connaître le code couleur de la cellule cible. VBA ne reconnaît pas les couleurs visuellement, mais par leurs codes respectifs.
Il faut d’abord choisir une couleur pour votre cellule. Nous avons sélectionné le jaune, qui a un code facile à identifier. Si vous préférez une autre couleur, vous pouvez consulter ce site afin de trouver le code correspondant. Le code couleur du jaune que nous utilisons est #FFFF00.
Dans Excel, activez l’onglet Développeur et basculez vers celui-ci. Cliquez sur le bouton Visual Basic et insérez le code suivant dans la section « Cette feuille de calcul ». Ce script est l’œuvre de 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
Après l’exécution du script, toutes les cellules de la couleur spécifiée seront verrouillées. Le code couleur utilisé doit être indiqué dans cette ligne du script:
colorIndex = FFFF00
Le code FFFF00 correspond à la couleur jaune. Vous devrez le remplacer par le code couleur de votre choix. Il est recommandé d’utiliser une couleur simple. Une fois le code modifié, vous devez sauvegarder le fichier Excel en tant que fichier prenant en charge les macros. Sans cette précaution, le script VBA ne sera pas enregistré.
Il est important de noter que les cellules verrouillées peuvent être déverrouillées facilement. Ce verrouillage n’est pas un verrou protégé par mot de passe, et il vise principalement à éviter les modifications involontaires, plutôt qu’à empêcher des personnes de modifier délibérément les valeurs des cellules. Il s’agit d’une protection standard pour éviter les changements accidentels.