Si vous travaillez avec une mise en forme conditionnelle dans un tableau, vous avez la possibilité de travailler avec exactement trois couleurs différentes. Si cette sélection ne vous suffit pas, écrivez une fonction qui formate automatiquement vos données.
Les limites de valeur suivantes sont définies:
Valeur | Couleur |
<10 | rouge |
Valeurs entre 10 et 20 | vert |
21, 23, 24 | jaune |
22 | magenta |
Valeurs> 25 | turquoise |
autres valeurs, y compris les valeurs invalides | blanc |
Transférez le tableau précédent vers une fonction qui crée la mise en forme des cellules.
Function ModeleCell(Cellule) Dim i As Integer Select Case Cellule Case Is < 10 i = 3 Case 11 To 20 i = 4 Case 21, 23, 24 i = 6 Case 22 i = 7 Case Is > 25 i = 8 Case Else i = 2 End Select With Selection.Interior .ColorIndex = i .PatternColorIndex = xlAutomatic End With End Function
Pour appeler la fonction précédente, utilisez la macro suivante suivante:
Sub jeuDeCouleurs() Dim i As Integer Range("A1").Select For i = 1 To ActiveSheet.UsedRange.Rows.Count ModeleCell (ActiveCell) ActiveCell.Offset(1, 0).Select Next i End Sub
Un petit ajout: assurez-vous maintenant que la mise en forme des cellules s’exécute automatiquement si vous modifiez une valeur dans la colonne A. Vous pouvez réaliser cet automatisme en utilisant un événement.
Voici comment:
1. Basculez vers l’environnement de développement.
2. Dans l’Explorateur de projets, double-cliquez sur la table pour laquelle vous souhaitez implémenter cette fonctionnalité.
3. Entrez l’événement Worksheet_Change.
Private Sub Worksheet_Change(ByVal Cible As Range) If Cible.Column = 1 Then jeuDeCouleurs End Sub
En utilisant l’argument Target et en vérifiant la colonne A, vous ne démarrez la lecture des couleurs de la macro que si une modification est apportée à la colonne A.