Mettre en place la mise en forme conditionnelle pour une zone en utilisant VBA dans Microsoft Excel
Dans cet article, nous allons créer une macro pour appliquer une mise en forme conditionnelle dans la zone sélectionnée.
Nous avons utilisé des nombres aléatoires comme exemples de données pour démontrer le fonctionnement de la macro.
La macro peut être exécutée en cliquant sur le bouton «Find Max» sur la feuille «Main».
Explication logique
Nous avons créé une macro «ConditionalFormat» pour appliquer une mise en forme conditionnelle à la zone sélectionnée. Cette macro met en évidence la cellule en couleur violette, qui contient la valeur maximale dans la zone sélectionnée.
Avant d’exécuter cette macro, il faut sélectionner une zone sur laquelle il souhaite appliquer la mise en forme conditionnelle.
Par exemple, nous avons sélectionné une plage de cellules de B9 à F17 comme échantillon de données sélectionnées.
Lors de l’exécution de la macro après la sélection de la zone d’échantillon, un formatage conditionnel est appliqué à la zone sélectionnée et la cellule D16, qui contient la valeur la plus élevée (97), sera mise en évidence en couleur violette.
Maintenant, prenez un autre échantillon. Nous avons sélectionné la plage de la cellule B10 à F13 comme deuxième zone d’échantillonnage.
Après avoir sélectionné la deuxième zone d’échantillon, cliquez sur le bouton «Find Max» pour exécuter la macro. La mise en forme conditionnelle sera appliquée à la zone sélectionnée et la cellule C11 sera mise en surbrillance en violet, car elle contient la valeur maximale (92) dans la zone sélectionnée.
Après avoir exécuté la macro pour deux échantillons différents, la mise en forme conditionnelle est appliquée aux deux. Dans les données d’échantillon, les cellules C11 et D16 seront mises en évidence en couleur violette, car elles représentent des valeurs maximales dans leurs échantillons respectifs.
Si les valeurs de l’un des échantillons sont modifiées et que l’une des valeurs nouvellement insérées est la valeur la plus élevée, la cellule avec cette valeur particulière sera mise en surbrillance.
Explication du code
Selection.FormatConditions.Delete Le code ci-dessus est utilisé pour supprimer toute mise en forme conditionnelle appliquée aux données sélectionnées.
Selection.FormatConditions.Add Type: = xlExpression, Formula1: = _ « = » & Selection.Cells (1) .Address (False, False) & « = MAX ( » & Selection.Address & « ) »
Le code ci-dessus est utilisé pour ajouter une nouvelle mise en forme conditionnelle. Type spécifie que l’expression est utilisée pour appliquer la mise en forme de la condition. La formule de l’expression est définie dans Formula1.
Selection.Cells (1) .Address (False, False)
Le code ci-dessus est utilisé pour référencer l’adresse de la première cellule de la sélection.
« = » & Selection.Cells (1) .Address (False, False) & « = MAX ( » & Selection.Address & « ) »
Le code ci-dessus est utilisé pour comparer la valeur de la première cellule sélectionnée avec la valeur maximale de la sélection.
Selection.FormatConditions (1) .Interior.ColorIndex = 39 Le code ci-dessus est utilisé pour attribuer une couleur violette à la cellule qui satisfait la condition de mise en forme.
Veuillez suivre ci-dessous pour le code
Sub ConditionalFormat() With Selection 'Delete any previous conditional formatting .FormatConditions.Delete 'add conditional formatting to selected cell .FormatConditions.Add Type:=xlExpression, Formula1:= _ "=" & Selection.Cells(1).Address(False, False) & "=MAX(" & Selection.Address & ")" 'Assigning Violet color for the conditional formatting .FormatConditions(1).Interior.ColorIndex = 39 End With End Sub
Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.
Nous aimerions avoir de vos nouvelles, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]