Mise en forme conditionnelle avec plus de trois couleurs avec Excel VBA

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.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x