web-dev-qa-db-fra.com

comment puis-je copier une mise en forme conditionnelle dans Excel 2010 vers d'autres cellules, basée sur le contenu d'autres cellules?

Je dois copier une mise en forme conditionnelle basée sur une formule dans d'autres cellules, mais je dois modifier la formule pour chaque condition de cellule. comment puis-je faire une copie de cette condition pour que la formule change également en conséquence? dans les cellules, lors de la copie de cellules avec une formule faisant référence à d'autres cellules, Excel modifiera les cellules de référence en conséquence. Mais je ne sais pas comment faire la même chose avec la mise en forme conditionnelle pour ne pas avoir à changer ma formule conditionnelle manuellement:

condition: = K21 + $ F22 (la formule conditionnelle que j'ai mise dans la cellule K22) condition: = AB21 + $ F22 (la formule conditionnelle dont j'ai besoin pour être dans la cellule AB22)

Comme j'ai plus de 10000 cellules pour appliquer ma formule de mise en forme conditionnelle, il est presque impossible de taper cette formule manuellement dans chaque cellule. Y a-t-il un moyen de le faire automatiquement? 

Je ne sais pas VB mais je peux savoir si la solution existe uniquement. Mais s'il vous plaît ne me donnez pas d'abréviation et expliquez-moi complètement. 

Merci beaucoup! Shahab

5
user1061761

Je me suis retrouvé dans la même situation où, lorsque j'ai copié la formule dans une autre cellule, la formule faisait toujours référence à la cellule utilisée dans la première formule. Pour corriger cela lorsque vous définissez les règles, sélectionnez l'option "utiliser une formule pour déterminer les cellules à formater. Tapez ensuite dans la case votre formule, par exemple H23 * .25. Lorsque vous copiez les cellules, les formules deviennent H24 * .25, H25 * .25 et ainsi de suite, espérons que cela vous aidera. 

5
Nancy

Vous pouvez le faire dans l'outil "Mise en forme conditionnelle" de l'onglet Accueil d'Excel 2010.

En supposant que la règle existante est 'Utilisez une formule pour déterminer quelles cellules mettre en forme':

Modifiez la règle existante afin que la "formule" fasse référence à des lignes et des colonnes relatives (c.-à-d. Remove $ s), puis dans la zone "S'applique à", cliquez sur l'icône pour actualiser la feuille et sélectionnez les cellules de votre choix. appliquer à (les références absolues de cellules sont correctes ici), puis revenez au panneau Outils et cliquez sur Appliquer.

Cela fonctionnera en supposant que les compensations relatives soient appropriées dans toute la plage d'application souhaitée.

Vous pouvez copier une mise en forme conditionnelle d'une cellule à une autre ou une plage en utilisant uniquement copier-coller spécial, en supposant que copier des formats Normaux ne vous dérange pas.

2
Jool

condition: = K21 + $ F22

Ce n'est pas une condition. C'est une valeur. Une CONDITION, évaluée comme une valeur BOOLEAN (True/False) Si True, le format est appliqué.

Ce serait une condition, par exemple

condition: =K21+$F22>0

En général, lorsqu’on applique un FC à une plage, 

1) select the entire range that you want the Conditional FORMAT to be applied to.

2) enter the CONDITION, as it relates to the FIRST ROW of your selection.

Les FC seront donc appliquées dans toute la gamme.

1
SkipVought

J'ai eu ce problème aussi et je ne pouvais pas le résoudre sans utiliser VBA.

Dans mon cas, j'avais un tableau avec des nombres que je voulais mettre en forme et un tableau correspondant à côté avec les valeurs de formatage souhaitées.

ainsi, alors que la colonne F contient les valeurs que je souhaite formater, la mise en forme souhaitée pour chaque cellule est capturée dans la colonne Z, exprimée sous la forme "RED", "AMBER" ou "GREEN".

Solution rapide ci-dessous. Sélectionnez manuellement la plage à laquelle appliquer la mise en forme conditionnelle, puis exécutez la macro.

   Sub ConditionalFormatting()
For Each Cell In Selection.Cells
With Cell
    'clean
    .FormatConditions.Delete

    'green rule
    .FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=$Z" & Cell.Row & "=""GREEN"""
    .FormatConditions(.FormatConditions.Count).SetFirstPriority
    With .FormatConditions(1).Font
        .Color = -11489280
        .TintAndShade = 0
    End With
    .FormatConditions(1).StopIfTrue = False

    'amber rule
    .FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=$Z" & Cell.Row & "=""AMBER"""
    .FormatConditions(.FormatConditions.Count).SetFirstPriority
    With .FormatConditions(1).Font
        .ThemeColor = xlThemeColorAccent6
        .TintAndShade = -0.249946592608417
    End With
    .FormatConditions(1).StopIfTrue = False

    'red rule
    .FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=$Z" & Cell.Row & "=""RED"""
    .FormatConditions(.FormatConditions.Count).SetFirstPriority
    With .FormatConditions(1).Font
        .Color = -16776961
        .TintAndShade = 0
    End With
    .FormatConditions(1).StopIfTrue = False
End With

Next Cell

End Sub
0
knw

Moi aussi j'ai besoin de ça! Ma situation implique de comparer les coûts réels avec le budget pour les centres de coûts, où les dépenses ont peut-être été mal appliquées et doivent donc être réaffectées au centre de coûts approprié, de manière à correspondre au budget. Il est très fastidieux d’essayer d’analyser ligne par ligne pour vérifier si chaque poste de dépense a été correctement alloué. J'ai décidé d'appliquer une mise en forme conditionnelle pour mettre en surbrillance les cellules dont les données réelles ne correspondaient pas au budget. J'ai configuré la mise en forme conditionnelle pour modifier la couleur d'arrière-plan si le montant réel sous le centre de coûts ne correspond pas au montant budgétisé.

Voici ce que j'ai fait:

Commencez par la cellule A1 (ou la première cellule dans laquelle vous souhaitez que le formatage soit mis en forme). Ouvrez la boîte de dialogue Mise en forme conditionnelle et sélectionnez Appliquer la mise en forme en fonction d'une formule. Ensuite, j'ai écrit une formule pour comparer une cellule à une autre pour voir si elles correspondent:

=A1=A50

Si les contenus des cellules A1 et A50 sont égaux, la mise en forme conditionnelle sera appliquée. AVIS: non $$, les références de cellules sont donc RELATIVES! Par conséquent, vous pouvez copier la formule à partir de la cellule A1 et de PasteSpecial (format). Si vous ne cliquez que sur les cellules auxquelles vous faites référence lorsque vous écrivez votre formule de mise en forme conditionnelle, les cellules sont verrouillées par défaut. Vous ne pourrez donc les appliquer nulle part ailleurs (vous devrez écrire une nouvelle règle pour chaque option). ligne - YUK!)

Ce qui est vraiment bien à propos de cela, c'est que si vous insérez des lignes sous la cellule mise en forme conditionnelle, la mise en forme conditionnelle sera également appliquée aux lignes insérées! 

Vous pouvez également faire autre chose: utilisez ISBLANK si les montants ne correspondent pas exactement, mais si vous souhaitez savoir si des dépenses apparaissent dans les colonnes sans montant budgété (par exemple, BLANK).

Cela a été un réel gain de temps pour moi. Essayez et appréciez!

0
XL_e_Fish_N_C