web-dev-qa-db-fra.com

Mise en forme conditionnelle - Échelle de couleur de la ligne entière basée sur une colonne

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  enter image description here

10
Gaurav Singhal

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
4
Gaurav Singhal

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 :

https://superuser.com/questions/973921/copy-conditional-formatting-3-color-scheme-to-another-tab/973974#973974?newreg=fc5ca6d04a5a406fa39cd4796b6a539e

Tous les crédits à l'utilisateur Raystafarian

5
oersted88

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. 

  1. Tout d'abord, sélectionnez la première cellule de vente sur votre feuille (rangée supérieure)
  2. Ensuite, nommez la cellule "VENTES". Pour ce faire, appuyez sur Ctrl + F3 ou sélectionnez 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.
  3. Maintenant, sélectionnez toute la plage de cellules que vous souhaitez présenter ce comportement
  4. Sélectionnez Home-> Conditional Formatting-> New Rule...
  5. Sélectionnez Use a Formula to Determine Which Cells to Formatet entrez =SALES=number où numéro est le numéro de vente pour lequel vous souhaitez déclencher une couleur.
  6. Sélectionnez 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. 
  7. Cliquez sur OK, OK, OK. Répétez les étapes 3 à 6 pour chaque combinaison chiffre/couleur de vente souhaitée. Si vous voulez une couleur pour "toutes les ventes inférieures à X", dans votre règle, vous devrez saisir =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 rouge

Etc, 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.

3
Rick Teachey

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.

Lecture en arrière-plan

0
Miss Palmer