web-dev-qa-db-fra.com

Formater conditionnellement une cellule si elle contenait une formule

Est-il possible de formater conditionnellement une cellule si celle-ci contient une formule (pour m'avertir, ainsi que d'autres utilisateurs, lors de la mise à jour de la cellule)?

17
wilson

Pour ce faire, vous pouvez utiliser la mise en forme conditionnelle à l’aide de XLM et des noms de plage.

J'ai un article plus long sur Utilisation de XLM avec les noms de plage et le formatage conditionnel pour formater automatiquement les feuilles de calcul en fonction du contenu de la cellule

  1. Définir un nom de plage IsFormula = GET.CELL (48, INDIRECT ("rc", FALSE))
  2. Appliquer un test de cellules de mise en forme conditionnelle pour la formule, c'est-à-dire = IsFormula avec un remplissage de couleur
8
brettdj

S'appuyant sur la réponse de brettdj, parce que j'ai trouvé l'article lié très difficile à suivre:

  1. Créez une nouvelle règle de mise en forme conditionnelle et sélectionnez Utilisez une formule pour déterminer les cellules à mettre en forme
  2. Insérer la formule suivante: =ISFORMULA(INDIRECT("rc",FALSE))
  3. Si vous souhaitez que la règle s'applique à la totalité de la feuille de calcul, $1:$1048576 est la plage à laquelle appliquer. Sinon, vous pouvez entrer n'importe quelle plage.

La formule INDIRECT("rc",FALSE) renvoie la référence de la cellule en cours. Si je l'utilise un jour dans une feuille, je crée un nom défini appelé ThisCell et je l'utilise dans la formule, au cas où je reviendrais des années plus tard et me demanderais "à quoi sert-il?.

9
toryan

Vous pouvez essayer ces:

VBA

Créez une fonction personnalisée avec le code suivant:

Function IsFormula(ByVal Ref As Range) As Variant
    If Ref.Cells.Count > 1 Then
        IsFormula = CVErr(xlErrNA)
    Else
        IsFormula = Ref.HasFormula
    End If
End Function

Exemple:

Pour vérifier si des cellules de la colonne A ont des formules:

  1. Mettez en surbrillance la colonne A
  2. Allez à Formatage conditionnel> Nouvelle règle> tilisez une formule pour déterminer les cellules à formater
  3. Utilisez le ff. formule: =IsFormula(A1)

Non-VBA

  1. Presse F5 ou Ctrl + G
  2. Cliquez Spécial.
  3. Choisissez Formules et cliquez --- OK. Cela met en évidence toutes les cellules de la feuille de calcul contenant des formules.
  4. Configurez le format que vous souhaitez utiliser.
    Ou
    Allez à Styles de cellules (sous l'onglet Accueil) et choisissez un style que vous souhaitez associer aux cellules contenant une formule. Pour modifier l'apparence, cliquez avec le bouton droit sur le style que vous avez sélectionné, puis cliquez sur Modifier. Toutes les cellules ayant reçu ce style seront automatiquement mises à jour.
4
Ellesa

Il existe un moyen très simple de le faire, testé dans Excel 2016.

Mettez en surbrillance la plage à laquelle vous souhaitez que cela s'applique, par exemple à partir de A3:W20. Accédez à la mise en forme conditionnelle et sélectionnez NEW RULE | USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT.

Mettez dans =isformula(A3) et choisissez le format que vous souhaitez appliquer.

A3 est évidemment une référence à la première cellule de votre plage, mais ce formatage s’applique alors à tous. Le résultat est que, dans votre plage, toute cellule qui est une formule est formatée de manière conditionnelle.

4
Joe Dog

Les nouveaux sites d'aide recommandent une fonction définie par l'utilisateur:

Function IsFormula(cell) as boolean 
  IsFormula = cell.HasFormula
End Function

Ensuite, utilisez cette fonction comme condition

Et en fait, Excel 2013 et les versions ultérieures ont IsFormula en tant que fonction standard.

0
Carl Witthoft