Microsoft 365 Macro pour colorer cellule d'un onglet en fonction du texte de la cellule

benjy555

XLDnaute Junior
Bonjour

Malgrés quelques recherches je n'arrive pas à trouver de solution à cette question.

Il y a bien entendu le fichier excel pour vous permettre de bien comprendre, et voici le sujet :

sur le premier onglet j'ai en quelque sorte mon paramétrage à savoir que chaque champs à une couleur de fond et de texte qui lui est propre :

le A est en fond rouge et texte noir

le B en fond jaune et texte noir

le F en fond noir et text blanc

etc...

Sur mon deuxième onglet, je vais retrouver ces champs A B C D etc repartis de façon aléatoire et sur deux colonnes et j'aimerais que la couleur du fond et du texte qui est paramétré pour le A de l'onglet 1 viennent automatiquement sur tous les A retrouvé sur l'onglet 2.

Comment faire par macro (ou regle de mise en forme condi ??)


je précise que :
le fichier excel est un exemple avec seulement 15 champs différents. mais en réalité dans mon vrai fichier j'ai plusieurs millier de champs diffèrent qui ont chacun un fond coloré particulier et il est impossible de créer une MFC pour chaque du type "si on trouve A dans le champs alors on met en rouge.."

Enfin, j'ai pris les terme de A, B , C D etc pour exemple mais en réalité, ces champs sont des référence produit qui s'écrivent de millier de façon différentes. mes ref vont s'appeler par ex : TOTO433, BLABLA36 etc...

donc l'idée est de retrouver le texte précis dans le second onglet à partir du premier et restituer la couleur du fond et du texte existant sur l'onglet 1.

Merci bcp

benjamin
 

Pièces jointes

  • TEST COULEUR.xlsx
    9.7 KB · Affichages: 15

tbft

XLDnaute Accro
Bonjour.

Petit tuyau pour une solution 100% macro:
Etape 1 : récupérer dans une variable (tableau) la liste des cellules de mise en forme => la source
Etape 2 : parcourir le tableau à colorier en recherchant dans la liste source pour rechercher si il y a une correspondance et appliquer la mise en forme.

Pour la couleur : ActiveSheet.Cells(lig, 1).Interior.Color
 

benjy555

XLDnaute Junior
@tbft merci peux tu stp me montrer concrètement à quoi cela ressemble car je n'ai pas ton niveau pour comprendre directement. a travers un fichier en pj je pense pouvoir mieux comprendre.

@sylvanu le pb, comme j'essayé de l'expliquer c'est que dans mon vrai fichier, je vais avoir des millier des champs différents, je ne peut pas créer des conditionnelle pour chaque champs différents que j'ai en vrai.
ici c'était un ex simplifié pour faire comprendre l'objectif : retrouver le texte précis dans le second onglet à partir du premier et restituer la couleur du fond et du texte existant sur l'onglet 1.
 

benjy555

XLDnaute Junior
Bonjour.

Petit tuyau pour une solution 100% macro:
Etape 1 : récupérer dans une variable (tableau) la liste des cellules de mise en forme => la source
Etape 2 : parcourir le tableau à colorier en recherchant dans la liste source pour rechercher si il y a une correspondance et appliquer la mise en forme.

Pour la couleur : ActiveSheet.Cells(lig, 1).Interior.Color
c'est exactement ça mais je ne sais pas comment...
 

Discussions similaires