Copier la couleur d'une cellule dans une autres

Bonjour à tous,

J'aurais besoin de votre aide sur le sujet suivant,

Je voudais créer une macro sous Excel 2007 qui aurait pour fonction de copier /coller la couleur d'une cellule qui est donnée par une mise en forme conditionnelle dans une autre cellule quelconque qui ce trouve sur une autre page

Par exemple:

la mise en forme conditionnelle de la cellule B3 qui se trouve en feuille1 donne une couleur rouge dans cette même cellule et avec la macro qui se trouve sur la même feuille je voudrais copier la couleur de B3 vers une cellule C5 de la feuille2

J'espère que cela est assez cllair car étant débutant je ne suis pas certain de ne pas oublier quleques informations importantes

MErci à tous

Bonsoir,

Ci-joint une proposition à tester et à adapter.

Les couleurs de la colonne B (gérées par une MFC) sont reprises en colonne E (couleurs réelles).

Bonne soirée

Bouben

2'070copiecouleur.xlsm (16.42 Ko)

Bonsoir Bouben,

Merci pour cette réponse rapide, mais je suis un peu perdu car assez novice dans la programation

Dans le fichier quand je change les couleurs de la colonne B sous la mise en forme conditionnelle je lance la macro pour une mise à jour de la colonne E mais là petit problème un msgbox apparait ou il noté Erreur d'exécution 438 Propriété ou méthode non gérée par cet objet

Avez vous une idée ou peut être une autre macro plus simple

Merci beaucoup pour votre aide

Xavier

Bonsoir,

DisplayFormat a été ajouté avec Excel 2010 et ne fonctionne donc pas sur Excel 2007.

Cordialement.

Bonjour à tous,

MFerrand a écrit :

DisplayFormat a été ajouté avec Excel 2010 et ne fonctionne donc pas sur Excel 2007

Oups, au temps pour moi.

Pas de solution dans l'immédiat

Cordialement

Bouben

Salut Bouben !

Oui ! C'était la solution !...

Autrement, ce sera un peu galère... mais sans fichier, difficile de chercher une méthode...

Cordialement.

Bonjour et merci à vous deux pour votre aide

Voici le fichier concerné, dans la feuille 1 je viens saisier des valeurs dans les cellules BLANCHES et en fonction des

de ces valeurs les cellules changes de couleur

Ensuite je viens appuyer sur le bouton "Enregistrement des resultats " ce qui a pour effet d'enregistrer les valuers dans le feuille

"SUIVI"

Mais comme on peu le voir seulement les valeurs sont copiées pas la couleur des cellules

Est il possible alors de copier les valeurs mais aussi la couleur des cellules

MERCI BEAUCOUP

Bonsoir,

Autant te dire tout de suite que pour ma part je n'ai aucune envie de décoder tes MFC...

J'en ai compté 45 (mais j'ai pu en louper ! ) Mon avis est qu'il faut vite effacer tout ça pour faire quelque chose d'un petit peu plus rationnel !

Je t'explique le principe : une mise en forme définie = 1 MFC ! une seule s'appliquant à toutes les cellules concernées par cette mise en forme. Et les conditions d'application de la mise en forme, lorsqu'elles ne peuvent se résumer à la valeur de la cellule, tu les définis au moyen d'une formule.

Et de grâce ! on évite de mettre une MFC pour n'appliquer aucune mise en forme ! On peut avoir mieux à faire...

Déjà qu'il me faut débloquer tes volets pour pouvoir afficher sur mon écran ! (C'est encore pas trop long à faire !) Et qu'il faudra lire ton code (plutôt déprimant ! pas une partie de plaisir ! ) Alors... !

Cordialement.

Bonsoir,

quitte à en rajouter une couche

Les couleurs de MFC ne sont pas "récupérables" sous VBA à part en faisant le même test qui fait que la cellule change de couleur...

Enfin c'est ce que je croyais jusqu'à ce soir avec "DisplayFormat"

Donc pour avant 2010, il faut contourner le problème, comme vous n'êtes pas avar de ligne de code, je vous propose ceci :

Sur votre feuille, trois cellule qui "refait" le test de la mise en forme. Première cellule affiche un 255 ou un 0 en fonction du résultat, la deuxième cellule fait de même ainsi que la troisième. L'ensemble des ces 0 ou 255 forme le trio de la couleur de la MFC :

si MFC = vert alors les cellules auront pour valeur respectives 0 , 255 , 0 qui correspond au "réglage" Rouge , vert et bleu de l'instruction VBA RGB.

Donc dans votre code "transfert" une ligne est rajoutée :

Cells(ligne + 1, 4).Interior.Color = RGB(Sheets("100 decharges").Cells(12, 7).Value, Sheets("100 decharges").Cells(12, 8).Value, Sheets("100 decharges").Cells(12, 9).Value)

Cette ligne met en couleur la cellule de la feuille "Suivi" en récupérant les valeurs RGB correspondante de la feuille "100 decharges".

Reste à vous de continuer le code pour toutes les cellules...

Voir le fichier joint :

@ bientôt

LouReeD

PS : Bonsoir MFerrand, bouben

Bonjour,

Avec un peu de retard un grand MERCI à tous pour vos explications et votre implication

MERCI MERCI MERCI

Bonsoir,

je prend un MERCI pour moi !

Alors merci à vous !

Je laisse les deux autre à bouben et MFerrand ! Bonjour à vous deux !

@ bientôt

LouReeD

En forme LouReed ! ce soir !

Rechercher des sujets similaires à "copier couleur"