Microsoft 365 Macro mise en forme conditionnelle

Coralie01120

XLDnaute Occasionnel
Bonsoir,
J'aimerai que lorsque je met une coche ("X" ou "x") en colonne C alors la cellule B se mette en vert.
De plus, si ma colonne B est bleue alors la coche en C s'enlève.

L'idée est que les données soient en évolution, parfois bleues, parfois vertes. C'est pour cela que je ne passe pas par une Mise en forme conditionnelle.

Bien cordialement,
 

Pièces jointes

  • Test.xlsm
    16 KB · Affichages: 7

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir @Coralie01120 , le Forum

Ah toujours avec ce projet je vois !!

Pour la mise en forme conditionelle, ce qui est certain c'est qu'elle ne peut pas faire ceci :
De plus, si ma colonne B est bleue alors la coche en C s'enlève.

Ca c'est impossible, une mise en forme conditionelle n'écrira ou n'effacera jamais rien dans les cellules...

Bonne soirée
@+Thierry
 

Coralie01120

XLDnaute Occasionnel
Bonjour Thierry,

Je viens de voir que si je met un X dans la colonne C face à une cellule en B bleu alors le X s'enlève.

Je m'explique : si la colonne B a une cellule en bleu c'est le signal que je dois agir. Une fois que c'est fait je met un X et la cellule devient verte (action réalisée).

Comme mon fichier évolue il est possible que la même cellule bleue devenue verte redevienne bleue et là le X s'enlève.

Il n'est pas possible de faire ces deux actions à la fois ?? Avec deux boutons cela ne fonctionnerait pas ?

Merci pour votre aide et votre temps.

Cordialement,
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Coralie01120 , le Fil, le Forum

Ce n'est pas un bouton mais un évenement sur la feuille.

VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column <> 3 Then Exit Sub

If UCase(Target.Value) = "X" Then
    If Target.Offset(0, -1).Interior.Color = 15773696 Then
        Target = ""
    Else
        Target.Offset(0, -1).Interior.Color = 5296274
    End If

Else
    If Not Target.Offset(0, -1).Interior.Color = 15773696 Then
        Target.Offset(0, -1).Interior.Color = xlNone
    End If

End If

End Sub

Si tu ne veux plus que ca s'éfface, tu mets en commentaire Target = ""
Ou tu lui fais écrire ce que tu veux Target = "Attention"

Bonne Journée
@+Thierry
 

Statistiques des forums

Discussions
312 191
Messages
2 086 052
Membres
103 109
dernier inscrit
boso_vs_viking