Supposons que je veuille colorier les lignes complètes sur la base des valeurs d'une colonne (à l'aide de l'option Excel échelle de couleurs intégrée du menu de mise en forme conditionnelle). Comment est-ce que je réalise ceci? S'il vous plaît voir l'image suivante
J'ai trouvé un Range.DisplayFormat.Interior.Color
propriété dans ce post , chez Mrexcel. En utilisant cette propriété, j'ai pu obtenir la couleur de la cellule de format conditionnel et l'utiliser pour les autres lignes. Catch est, cela ne fonctionne que dans Excel 2010 et les versions ultérieures. J'ai Excel 2010 donc ça a marché pour moi . Voici le code exact -
For i = rowStart To rowEnd
For j = columnStart To columnEnd
Cells(i, j).Interior.Color = Cells(i, 4).DisplayFormat.Interior.Color
Next
Next
Si je vous ai bien compris, je me suis battu avec le même problème. Cela consiste à formater des lignes entières en fonction des valeurs d'une colonne, les valeurs ayant été formatées à l'aide des échelles de couleurs d'Excel.
J'ai trouvé cette solution de contournement vraiment {RIDICULEMENT} qui consiste à copier vos cellules de couleur graduée dans Word, puis à revenir dans Excel, après quoi vous pouvez supprimer les valeurs et les remplacer par les valeurs de votre choix sans modifier le format :
Tous les crédits à l'utilisateur Raystafarian
Vous n'avez pas besoin de VBA pour le faire, vraiment.
Une chose à garder à l'esprit est que vous ne pourrez pas obtenir le comportement souhaité avec une seule règle de mise en forme conditionnelle; vous devez définir une règle distincte pour chaque définition de couleur de ligne basée sur les ventes. Deuxièmement, j'ai constaté qu'il était beaucoup plus facile d'obtenir le comportement souhaité de mise en forme conditionnelle dans Excel en utilisant des plages nommées pour les règles plutôt que des formules normales.
En gardant ces problèmes à l’esprit, procédez comme suit pour créer votre plage nommée, puis créez vos règles de mise en forme conditionnelle.
Formulas
-> Name Manager
dans le ruban. Puis sélectionnez New..
. Dans Name:
, entrez SALES
et dans Refers to:
, entrez =$XN
, où X est la colonne de la première cellule de vente et N le numéro de la ligne. Hit Enter
.Home
-> Conditional Formatting
-> New Rule...
Use a Formula to Determine Which Cells to Format
et entrez =SALES=number
où numéro est le numéro de vente pour lequel vous souhaitez déclencher une couleur.Format
et l'onglet Fill
. Vous devez maintenant choisir la couleur de fond souhaitée pour le numéro de vente que vous avez choisi. Vous pouvez également choisir d'autres options de formatage, telles que la couleur de la police, etc. =SALES<number
(<est "inférieur à"; vous pouvez également définir <=, ce qui correspond à "inférieur à OR" . Si vous voulez que la règle se produise entre deux nombres, vous pouvez faire =AND(SALES<=CEILING, SALES>=FLOOR)
, où plafond et plancher sont les limites supérieure et inférieure. Si vous voulez une couleur pour "toutes les ventes supérieures à X", vous pouvez utiliser =SALES>number
.MODIFIER:
Pour faciliter la saisie de vos formules conditionnelles, vous pouvez utiliser la fonction "Arrêter si vrai". Allez à Home
-> Conditional Formatting
-> Manage Rules
et choisissez This Worksheet
dans le menu déroulant. Vous verrez maintenant une liste de toutes les règles qui s'appliquent à votre feuille et une case à cocher "Arrêter si vrai" se trouve à droite de chaque règle.
Pour chaque règle de couleur de ligne, cochez la case "Arrêter si vrai". Maintenant, vos formules peuvent être comme ça (juste pour exemple):
=Sales>25
pour la règle verte =Sales>10
pour la règle jaune=Sales>0
pour la règle rougeEtc, au lieu de ceci:
=AND(Sales>0,Sales<=10)
pour la règle rouge=AND(Sales>10,Sales<=25)
pour la règle jaune=Sales>25
pour la règle verte La case Stop If True
signifie qu'une fois qu'une règle de formatage a été appliquée à une cellule, cette cellule ne sera plus formatée en fonction de toute autre règle qui lui est applicable. Notez que cela signifie que l'ordre des règles est IMPORTANT lors de l'utilisation de Stop If True
.
Vous pouvez le faire avec le menu de formatage conditionnel standard, pas besoin de VBA. Vous choisissez l'option de spécifier votre propre formule et vous pouvez vous référer à une cellule (verrouiller la colonne avec le '$') autre que celle que vous souhaitez mettre en surbrillance.