Dernière mise à jour : août 2021 ; Microsoft Excel 365, 2019, 2016.
Dans le didacticiel VBA pour Excel Automation d'aujourd'hui, nous découvrirons comment modifier par programmation la couleur d'une cellule en fonction de la valeur de la cellule.
Nous pouvons utiliser cette technique lors du développement d'un tableau de bord d'état simple par exemple.
Installer
Si vous ne développez pas encore sur Excel, nous vous recommandons de consulter notre guide d'introduction aux macros Excel . Plus précisément, vous devez vous assurer que l'onglet Développeur est disponible dans votre ruban Microsoft Excel, car vous l'utiliserez pour écrire du code simple.
- Ouvrez Microsoft Excel. Notez que le code fourni dans ce didacticiel devrait fonctionner dans Excel 2007 et au-delà.
- Dans une feuille de calcul vide, ajoutez le tableau suivant :

- Maintenant, allez-y et définissez une plage nommée en appuyant sur : Formules>>Définir le nom
![Comment définir une couleur de cellule Excel selon une condition avec VBA ? Comment définir une couleur de cellule Excel selon une condition avec VBA ?]()
Modification de la couleur de l'intérieur de la cellule en fonction de la valeur avec Cell.Interior.Color
- Appuyez sur l' entrée Développeur dans le ruban.
- Appuyez sur Visual Basic ou Alt + F11 pour ouvrir votre éditeur VBA développeur.
- Sélectionnez ensuite la feuille de travail dans laquelle vous souhaitez exécuter votre code. Vous pouvez également sélectionner un module contenant votre code VBA.
- Allez-y et collez ce code. Dans notre exemple, nous allons modifier la couleur intérieure d'une plage de cellules en valeurs RVB de cellules spécifiques correspondant aux couleurs rouge, jaune et verte.
- Plus précisément, nous utilisons la méthode Excel VBA Cell.Interior.Color et transmettons la valeur RVB ou l'indice de couleur correspondant.
Sub Color_Cell_Condition()
Dim MyCell As Range
Dim StatValue As String
Dim StatusRange As Range
Set StatusRange = Range("Status")
For Each MyCell In StatusRange
StatValue = MyCell.Value
Select Case StatValue
Case "Progressing"
MyCell.Interior.Color = RGB(0, 255, 0)
Case "Pending Feedback"
MyCell.Interior.Color = RGB(255, 255, 0)
Case "Stuck"
MyCell.Interior.Color = RGB(255, 0, 0)
End Select
Next MyCell
End Sub
- Exécutez votre code – soit en appuyant sur F5 ou sur Run>> Run Sub / UserForm.
- Vous remarquerez que le tableau de bord d'état a été rempli comme indiqué ci-dessous :
![Comment définir une couleur de cellule Excel selon une condition avec VBA ? Comment définir une couleur de cellule Excel selon une condition avec VBA ?]()
- Enregistrez votre code et fermez votre éditeur VBA.