Bonjour,
Je cherche à créer une mise en forme conditionnelle via un code VBA. J'ai réussi à faire en sorte que la ligne complète de mon tableau soit mise sur fond gris si la cellule I2 est vide, avec le code suivant (en partie trouvée via l'enregistreur de macro) :
Si mon code marche bien avec la cellule I2 pour tout mon tableau, je ne sais pas comment faire pour lui dire de prendre l'antépénultième cellule de ma ligne (celle qui m'intéresse réellement) ; je peux la calculer la référence de la colonne avec Nb_columns-2 mais je ne sais pas comment utiliser cette information dans le code...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Sub Mise_en_forme() ' Récupération des dimensions du tableau (utilisées à d'autres endroits dans ma macro complète...) Range("A1").Select Nb_rows = ActiveCell.SpecialCells(xlLastCell).Row Nb_columns = ActiveCell.SpecialCells(xlLastCell).Column ' Ajout de la mise en forme conditionnelle Range("A2").Select Range(Cells(2, 1), Cells(Nb_rows - 1, Nb_columns)).Select Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=$I2=""""" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority Selection.FormatConditions(1).Interior.Color = RGB(211, 211, 211) Selection.FormatConditions(1).StopIfTrue = False End Sub
J'ai tenté de remplacer la formule avec ceci :
... mais ça ne fonctionne pas... J'imagine que ce n'est pas très compliqué mais quelqu'un peut-il m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=R2C[Nb_columns-2]="""""![]()
Partager