Mise en forme conditionnelle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

yzerfred

XLDnaute Nouveau
Bonjour à tous,

Je me tourne vers vous car je ne trouve pas ce que je veux sur le forum.🙁 Voilà: Je suis en train de faire un tableau avec des noms en lignes et des dates en colonnes, et je fait des mises en forme conditionnelles sur les cases des samedis et dimanches, et je dois mettre des cases vertes sur les mercredis. Jusque là ça va.🙄
Mon problème est qu'il faut retrouver un fond blanc quand la case du mercredi n'est plus vide, ou différente de zéro.Alors quand je fais une mise en forme conditionnelle direct sur mon tableau , ça fonctionne parce que je prends toutes les cases, mais quand je lance une macro pour une insertion de nouvelle ligne ça ne marche plus parce que je gère la mise en forme par ligne.

Je vois que mon problème est que dans mon code de la deuxieme condition, et je ne sais pas ecrire dans la formule :la case active différent de zéro.

C$2 est la case où se trouve la date.
case est ma partie manquante pour donner le nom de la cellule qui prend la mise en forme conditionnelle.

Mon code :
Code:
'Mise en forme conditionnelle pour les samedis dimanches et mercredis
    Range(Cells(r - 17, 3), Cells(r - 17, 33)).Select
    Cells(r - 17, 3).Activate
    
    Selection.FormatConditions.Delete
    
    'Samedis et Dimanches
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=SI(JOURSEM(C$2;2)=6;1;SI(JOURSEM(C$2;2)=7;1))"
    Selection.FormatConditions(1).Interior.ColorIndex = 34
    
    'Mercredis
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=ET(JOURSEM(C$2;2)=3;case="")"
    Selection.FormatConditions(2).Interior.ColorIndex = 35

J'espère que je me suis bien expliqué. Merci à vous de m'aider...
 
Re : Mise en forme conditionnelle

Salut Yzerfred 😉

Je passais par là, et j'ai vu ton post ...

Je pense que la solution à ton problème est la fonction : CELLULE()

Essaye, donc, avec :
Code:
'Mercredis
    Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=ET(JOURSEM(C$2;2)=3;[COLOR=green][B]CELLULE("contenu")=0[/B][/COLOR])"
    Selection.FormatConditions(2).Interior.ColorIndex = 35

Voili, voilà 😀

A+
 
Re : Mise en forme conditionnelle

Bonjour Bruno,
D'abord merci de m'avoir répondu😛. ensuite , je mis ton code dans ma macro , et il fonctionne quasi bien🙂. Seul petit hic, toutes les cases des mercredis sont blanches, jusquà ce qu'on y mette une valeur dans une seule case. ensuite, toutes les cases fonctionnent correctement.🙄

Code:
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=ET(JOURSEM(C$2;2)=3;CELLULE(""contenu"")=0;fériés<>C$2)"
    Selection.FormatConditions(3).Interior.ColorIndex = 35

J'ai rajouté d'autres conditions. Aurais tu une idée?😕

Merci mille fois de ton aide!😀

Yzerfred
 
Re : Mise en forme conditionnelle

Salut Yzerfred,

Pourrais-tu nous joindre ton fichier ?

Il faut bien penser que
Code:
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
        "=ET(JOURSEM(C$2;2)=3;CELLULE(""contenu"")=0;fériés<>C$2)"
    Selection.FormatConditions(3).Interior.ColorIndex = 35
Ne fonctionnera correctement que pour la colonne "C"

Ensuite il faudra utiliser le copier/collage spécial format

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
229
Réponses
2
Affichages
153
Réponses
4
Affichages
199
Réponses
25
Affichages
774
Retour