Correction de macro pour remplacer une MFC

Bonjour à tous,

Je cherche à corriger la macro en 'Feuil1' qui à l'intersection d'une ligne (celle des jours) et d'une colonne (celle des mois), doit colorer en bleu clair une cellule à la condition que la donnée de la ligne soit vide, mais surtout l'inverse quand la cellule est à nouveau remplie, celle ci doit perdre sa couleur.

Dis comme cela, je ne suis pas sûr d'être très clair alors j'ai construit un classeur détaillé que je joint à ce post ou vous trouverez des explications visuelles.

Mais en résumé: si cellule vide en colonne 'G', alors cellule correspondant au mois en cours est colorée sinon rien, pas de couleur.

Ma macro en 'Feuil1' ne fait que la moitié du travail, elle colore bien la cellule, mais pas l'inverse...je sèche sur l'évènement Change, je ne trouve pas la bonne syntaxe.

Une solution existe pourtant en réalisant une Mise en Forme Conditionnelle, mais le défaut des MFC est quelles ne colorent pas réellement la cellule. Dès lors, je ne peux pas me baser sur les couleurs pour réaliser une autre macro qui écarterait les cellules colorées lors d'une exportation.

Merci à tous pour vos précieux conseils et je l'espère solutions.

A+

AL 22

Salut AL,

quelle est la condition pour qu'une cellule devienne jaune clair ?


A+

Bonjour curulis57, le forum,

Merci pour l’intérêt que tu portes à ma demande.

La couleur jaune clair est issue d'une autre macro qui colore les dates passées de la colonne 'G'.

Elle n'intervient pas dans la demande actuelle. Je n'ai pas corrigé le classeur d'origine en faisant celui du test pour le forum.

Merci à toi

A+

AL 22

Salut Al,

en attendant la suite des événements...

Private Sub Worksheet_Change(ByVal Target As Range)
'
If Target.Count > 1 Or Target.Row = 1 Or Range("A" & Target.Row).Value = "" Then Exit Sub
If Not Intersect(Target, Columns(7)) Is Nothing Then _
    Cells(Target.Row, 7 + Month(Now)).Interior.Color = IIf(Target = "", RGB(205, 255, 255), xlNone)
'
End Sub


A+

Re,

Merci curulis57,

Ta vision de ma demande est la bonne, ta macro fonctionne, je me suis certainement compliqué la tâche...

Merci beaucoup et bonne fin de journée.

A+

AL 22

Bonjour à tous,

Dès lors, je ne peux pas me baser sur les couleurs pour réaliser une autre macro qui écarterait les cellules colorées lors d'une exportation

ta macro doit se baser sur les cellules vides, pas sur une couleur si tu peux t'en passer (MFC ou en dur)
eric.

Bonjour eriiic,

L'autre macro dont je parle fonctionne très bien en se basant sur les couleurs des cellules car des données chiffrées sont en place.

Je m'en sort avec :

If Sheets("Feuil1").Cells(j, ColonneMois).Interior.Color <> RGB(255, 255, 204) And Sheets("Feuil1").Cells(j, ColonneMois).Interior.Color <> RGB(204, 255, 255) Then

C'est pour cela que j'avais besoin d'une macro remplaçant une MFC.

Merci à toi.

A+

AL22

Attention, AL, j'ai l'habitude, dans mes codes nécessitant l'usage de couleurs, de ramener les valeurs RGB à leur plus proche multiple de 5.
Donc, RGB(204, 255, 255) devient RGB(205, 255, 255) !!


A+

curulis57,

J'avais bien remarqué une différence de notation de la couleur dans ta macro, mais je ne pensait pas que cet écart était volontaire.

Compte tenu de ton indéniable expertise, peux tu m'expliquer pourquoi tu "arrondis" les codes, ou bien est-ce simplement une habitude pour les retenir ?

Merci

A+

AL 22

Retenir certaines (peu nombreuses) combinaisons RGB, oui mais, surtout, la "satisfaction irrationnelle" d'une certaine "élégance" de codage.
Vu la myriade de couleurs, arrondir ces valeurs n'est de toute façon pas visible...


A+

Bien sûr qu'elle doit fonctionner.
C'est juste que c'est moins efficient.
Autant contrôler le vide que la couleur qu'il implique.

Ceci dit indépendamment de la suppression des MFC (gourmandes) que tu peux poursuivre.
eric

Re bonjour à tous,

@curulis57,

la "satisfaction irrationnelle" d'une certaine "élégance" de codage.

Je valide parfaitement cette pensée, bravo à toi, certains codes se rapprochent d'une "pureté" d'écriture.

@ eriiic,

Également dans la recherche de l'efficacité, je te remercie beaucoup pour tes conseils avisés.

Bonne soirée à tous les deux et à vous tous.

AL 22

Rechercher des sujets similaires à "correction macro remplacer mfc"