Comment reproduire la mise en forme d'une cellule A vers une cellule B

Bonjour,

Je suis a la recherche d'une solution me permettant de reproduire la couleur d'une cellule A vers une cellule B après avoir comparé deux colonnes.

Explications détaillées :

Colonne A contenant x cellules, chaque cellules ayant une autre couleur.

Colonne B contenant y cellules sans couleur.

Je souhaite mettre les cellules x en face des cellules y lorsqu'il y a correspondance (pas de probleme à ce niveau).

Néanmoins, il faudrait également que les cellules qui apparaissent en face des cellules y soient complétées de leur couleur respective/d'origine.

Comment serait-il possible de reproduire la mise en forme de ces cellules ?

Merci par avance pour votre aide, très bonne journée.

Bonjour,

Mettre le avant et le après que ce soit clair.

eric

Bonjour AirV, bonjour le forum,

Sans le fichier qui va bien, difficile de te répondre. De plus on ne connait pas la méthode que tu as utilisé pour mettre les cellules face à face...

Bonjour ThauThème,

Bien sûr, je comprends. Vous pourrez trouver le fichier en pièce jointe.

J'aimerais en effet reproduire la mise en forme (la couleur entre autre) des cellules situées en colonne D et mises en colonne F.

Encore merci à vous.

Re,

Essaie comme ça :

Sub Macro1()
Dim PL As Range
Dim CEL As Range

Set PL = Application.Intersect(Range("A3").CurrentRegion, Columns(6))
For Each CEL In PL
    CEL.Interior.ColorIndex = CEL.Offset(0, -2).Interior.ColorIndex
Next CEL
End Sub

Re,

J'ai essayé cette macro, elle fonctionne mais ce n'est pas tout à fait le besoin, les cellules triées en colonne F doivent avoir exactement la même couleur que les cellules en colonne D suivant leur donnée.

Exemple : on retrouve D3 en F10.

D3 est en rouge, F10 devra donc aussi être en rouge. (couleur identique pour toutes les cellules de meme valeur)

J'espère que c'est compréhensible, si nécessaire, je peux renvoyer le fichier en y plaçant les couleurs souhaitées manuellement en colonne F afin de mieux comprendre mes attentes.

Re,

Oui, je préfèrerais... C'est d'ailleurs ce qu'avait demandé Éric que tu as royalement sbnobé...

Oups pardon, je n'avais effectivement pas vu le message initial demandé par Eric, avec mes excuses.

Ci-joint le fichier avec le code couleur recherché en colonne F dépendant du code couleur des données situées en colonne D.

Re,

Essaie comme ça :

Sub Macro1()
Dim PL1 As Range
Dim PL2 As Range
Dim CEL As Range
Dim R As Range

Set PL1 = Application.Intersect(Range("A3").CurrentRegion, Columns(6))
Set PL2 = Application.Intersect(Range("A3").CurrentRegion, Columns(4))
For Each CEL In PL1
    Set R = PL2.Find(CEL.Value, , xlValues, xlWhole)
    If Not R Is Nothing Then CEL.Interior.ColorIndex = R.Interior.ColorIndex
Next CEL
End Sub

Top, ça fonctionne super bien!! Mille Merci ThauThème!!

Si je souhaite intégrer également la couleur du texte des cellules en colonne D à retranscrire en colonne F, dois-je intégrer une donnée supplémentaire dans la fonction .Find(CEL.Value, , xlValues, xlWhole) ?

Je joins le fichier pour mieux comprendre (voir cellules D6 et D9 en blanc et reproduit en colonne F)

Très bonne journée.

Re,

Je me demande si tu as au moins regardé le code ?!...

Sub Macro1()
Dim PL1 As Range
Dim PL2 As Range
Dim CEL As Range
Dim R As Range

Set PL1 = Application.Intersect(Range("A3").CurrentRegion, Columns(6))
Set PL2 = Application.Intersect(Range("A3").CurrentRegion, Columns(4))
For Each CEL In PL1
    Set R = PL2.Find(CEL.Value, , xlValues, xlWhole)
    If Not R Is Nothing Then
        CEL.Interior.ColorIndex = R.Interior.ColorIndex
        CEL.Font.ColorIndex = R.Font.ColorIndex
    End If
Next CEL
End Sub

Bonjour Thautème,

Cela fonctionne bien, merci beaucoup.

J'avais d'abord essayé de trouver la solution en analysant le programme (d'où mon retour sur la fonction .Find(CEL.Value, , xlValues, xlWhole) mais je suis novice en VBA, d'où ma demande.

Merci encore pour l'ensemble de votre aide, passez une très bonne journée.

Rechercher des sujets similaires à "comment reproduire mise forme"