web-dev-qa-db-fra.com

Mise en forme conditionnelle à partir d'une autre feuille

J'essaie d'avoir une cellule sur la feuille A pour vérifier si elle correspond à> ou <la valeur d'une cellule de la feuille B, puis changez sa couleur en conséquence. Dans la formule personnalisée, j'utilise: =A1>("SheetB!A1"), mais cela ne semble pas fonctionner. J'utilise la couleur verte pour le> et la couleur rouge pour le <. Chaque fois que les règles sont enregistrées, le symbole A1 apparaît toujours en rouge sur la feuille A.

La fonction est mauvaise? Ou n'est-il pas possible d'avoir un format conditionnel même pour effectuer une recherche sur plusieurs feuilles?

15
Josh

Pour une raison quelconque (j'avoue que je ne sais pas trop pourquoi), une formule personnalisée dans la mise en forme conditionnelle ne prend pas directement en charge les références entre feuilles.

Mais les références entre feuilles sont supportées INDIRECT - ly:

=A1>INDIRECT("SheetB!A1")

ou si vous souhaitez comparer A1: B10 sur la feuille A avec A1: B10 sur la feuille B, utilisez:

=A1>INDIRECT("SheetB!A1:B10")

appliqué à la plage A1: B10.

28
AdamL

Vous pouvez le faire en référençant le numéro de cellule et de ligne dans la feuille en cours, de sorte que si vous faites glisser cette mise en forme conditionnelle vers d'autres lignes, elle fera référence aux cellules correctes. Dans l'équation ci-dessous, je colorie les cellules en fonction de exactement la même cellule dans une autre feuille nommée "otherSheetName" dans cet exemple. Si, par exemple, vous souhaitez colorer la cellule B2 dans la feuille Sheet2 si la cellule B2 dans otherSheetName contient le texte "J'aime les chiens", vous accédez à la cellule Sheet2! B2, cliquez sur la mise en forme de la condition, choisissez l'équation dans le menu déroulant et collez-la. 

=if(indirect("otherSheetName!"&address(row(),COLUMN()))="I Like Dogs",1,0)
0
user34612

Il y a une astuce/un bogue: si vous avez une mise en forme conditionnelle dans Sheet1 qui fait explicitement référence à elle-même (par exemple, la formule est Sheet1!$C$2), vous pouvez copier la mise en forme conditionnelle dans Sheet2 avec Paste special > conditional formatting et cela "fonctionnera" ... tant que vous ne touche à rien :

  • si vous essayez de modifier la mise en forme conditionnelle dans la feuille Sheet2, vous obtiendrez une erreur «formule non valide». 
  • si les colonnes/lignes changent dans la feuille Sheet1 de telle sorte qu'elles affectent la mise en forme conditionnelle (par exemple, les insertions de lignes/colonnes), ceci ne sera pas reflété dans la feuille Sheet2 (gardez à l'esprit que l'astuce indirect mentionnée par @AdamL ne reflétera pas non plus les mises à jour colonne/ligne , c’est donc un lavage à cet égard).
0
kuporific