Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Conditional Formatting

5 réponses
Avatar
A COSTA
Bonjour
Dans une cellule, j'ai une formule
Je voudrais que, quand je remplace la formule pour un valeur, la cellule
devient grisée. Est-ce qu'il y a moyen, avec p. ex. le Conditional Formatting
?
Merci d'avance
A Costa

5 réponses

Avatar
CAP2
Salut,

tu places ça dans le module Thisworkbook de ton classeur :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target
As Range)

If Range("C4").HasFormula = True Then
Range("C4").Interior.ColorIndex = xlColorIndexNone
Else: Range("C4").Interior.ColorIndex = 15
End If

End Sub

Dès que tu remplaces ta formule par quelquechose qui n'est pas une formule,
le fond passe en gris...

Ca convient ?

CAP2
Avatar
CAP2
Euh, en partant du principe que la cellule en question est la cellule C4 bien
sûr. A adapter à ta cellule à toi !!

CAP2
Avatar
CAP2
Désolé, on va y arriver ;o)

Pour que ce soit spécifique à une seule feuille de calcul, mets plutôt ça
dans le module de ta feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("C4").HasFormula = True Then
Range("C4").Interior.ColorIndex = xlColorIndexNone
Else: Range("C4").Interior.ColorIndex = 15
End If
End Sub

Cette fois, ça doit être à peu près dans les clous ;o))

CAP2
Avatar
A COSTA
Un grand merci
Mais le probleme c'est que le range est BC6:CX65 et quand je remplace la
formule toute la feille devient grisée. En plus je ne peux pas revenir en
arriere.
A Costa

Désolé, on va y arriver ;o)

Pour que ce soit spécifique à une seule feuille de calcul, mets plutôt ça
dans le module de ta feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("C4").HasFormula = True Then
Range("C4").Interior.ColorIndex = xlColorIndexNone
Else: Range("C4").Interior.ColorIndex = 15
End If
End Sub

Cette fois, ça doit être à peu près dans les clous ;o))

CAP2


Avatar
A COSTA
J'ai remplace Range ("c4") par ActiveCell et ça va mieux


Désolé, on va y arriver ;o)

Pour que ce soit spécifique à une seule feuille de calcul, mets plutôt ça
dans le module de ta feuille :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("C4").HasFormula = True Then
Range("C4").Interior.ColorIndex = xlColorIndexNone
Else: Range("C4").Interior.ColorIndex = 15
End If
End Sub

Cette fois, ça doit être à peu près dans les clous ;o))

CAP2