Garder mise en forme conditionnel tout en voulant afficher une croix

RedSky74

XLDnaute Nouveau
Bonjour,

Mon problème est que je n'arrive pas à garder ma mise en forme conditionnel lorsque je mets une croix dans ma cellule.

L'affichage de la croix se fait de maniere automatique en cliquant sur la case.

J'utilise ce code ci:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("O9:O13,P9:p13,Q9:Q13,R9:R13,S9:S13")) Is Nothing Then
If IsEmpty(Target) Then
Target = "X"
Else: Target = ""
End If
End If
End Sub



Merci d'avance
 

Modeste

XLDnaute Barbatruc
Re : Garder mise en forme conditionnel tout en voulant afficher une croix

Bonjour RedSky74 et bienvenue,

Si tu repasses par ici ... rien dans ton code, n'est incompatible avec une mise en forme conditionnelle!? Le problème est peut-être ailleurs, mais sans voir le fichier ...

Tu peux juste simplifier un brin ton premier test, en écrivant "If Not Intersect(Target, Range("O9:S13")) Is Nothing Then" ... Mais ça ne changera rien au problème que tu évoques.
 

RedSky74

XLDnaute Nouveau
Re : Garder mise en forme conditionnel tout en voulant afficher une croix

Si tu veux sous certaines conditions ma cellule affiche un fond noir.
Et le probleme si je clique pour rajouter un "X" c'est que ca enleve le fond noir.

Regarde page "suivi de defauts"
 

Pièces jointes

  • Modèle_Collage .xlsm
    52.9 KB · Affichages: 24
  • Modèle_Collage .xlsm
    52.9 KB · Affichages: 25
  • Modèle_Collage .xlsm
    52.9 KB · Affichages: 22

Modeste

XLDnaute Barbatruc
Re : Garder mise en forme conditionnel tout en voulant afficher une croix

Re-bonjour,

Je pense que c'est bien ta MFC qui pose problème!

Si j'ai bien compris:
- Supprime toutes les MFC actuellement présentes dans ta feuille "Suivi défauts"
- Passe en mode Création (pour désactiver ta macro, pendant les modifs)
- Sélectionne la plage O9:S13 > MFC > Nouvelle règle > Utiliser une formule pour ...
- Colle la formule suivante: "=ET($L9>=3;$L9<=15)" dans la zone prévue

teste ta MFC ... et si c'est ok, n'oublie pas de désactiver le mode création

[Edit:] pas tout regardé, mais si tu n'as rien contre une suggestion (non sollicitée) tu pourrais aussi simplifier sensiblement ta formule en M9:M13 en écrivant: =SI(OU(L9="";L9=0);"";SIERREUR(INDEX($E$9:$E$30;L9);"Le défaut n'existe pas"))
On peut même simplifier encore, à condition d'utiliser un contrôle de validation en colonne L ... mais à toi de voir!
 
Dernière édition:

Discussions similaires