VBA - Coloration automatique des cellules - Multi couleurs

Bonjour,

Je reviens vers vous pour un petit problème. J'aimerai colorier automatiquement les couleurs d'une plage de cellules.

Si je sélectionne la plage C2:E10, et que j'appuis sur un bouton, je souhaite avoir la même colorisation sur G2:I10. Or lorsque j'effectue mon code, on remarque un problème. Si la couleur est uni cela fonctionne mais si je souhaite avoir plus de 2 couleurs dans la même plage j'ai ma plage copiée qui devient noir

Sub Bouton1_Cliquer()
With Worksheets("Feuil1")
    .Range("C2:E10").Interior.Color = Worksheets("Feuil1").Range("G2:I10").Interior.Color
End With
With Worksheets("Feuil1")
    .Range("C15:E21").Interior.Color = Worksheets("Feuil2").Range("B2:D8").Interior.Color
End With
End Sub

Merci de votre aide.

19classeur1.xlsm (16.36 Ko)

Bonjour,

j'aurai plutôt fait comme ceci :

With Worksheets("Feuil1")
    .Range("G2:I10").Copy
    .Range("C2").PasteSpecial Paste:=xlPasteFormats
End With
With Worksheets("Feuil1")
    Feuil2.Range("B2:D8").Copy
    .Range("C15").PasteSpecial Paste:=xlPasteFormats
End With

Dis nous si cela te convient !

A plus !

Re,

Cela fonctionne super bien. Merci de ton aide. Donc si je résume tu as utilisés le fait de copier le format de la cellule ?

Imaginons que je souhaite copier ma plage sur plusieurs cellules :

With Worksheets("Feuil1")
    .Range("G2:I10").Copy
    .Range("C2").PasteSpecial Paste:=xlPasteFormats

Je le colle depuis C2 mais aussi si je voudrais depuis N2; O2; etc. Comment j'écris .Range("C2")

Merci

Si tu veux rajouter un autre endroit alors tu rajoutes la seconde ligne en changeant la lettre de la colonne.

.Range("C2").PasteSpecial Paste:=xlPasteFormats
.Range("N2").PasteSpecial Paste:=xlPasteFormats
'etc...

attention, la copie comporte 3 colonnes de G à I donc il semble inapproprié de coller une fois en N et une autre fois en O sachant que la copie en N va aller jusqu'en P. En espérant me faire comprendre.

Sinon, oui l'idée est de copier le format des cellules.

A plus !

Merci beaucoup,

Cependant, je ne comprends pas la ligne avec : Feuil2.Range("B2:D8").Copy

Quand j'ai envie de changer de feuille de calcul ou même renommer celle ci. Il me prend en compte que la 2ème feuille.

Si j'ai mon Excel ce compose :

1 er feuille : Feuil1

2eme feuille : Toto

3eme feuille : Toto Tata

With Worksheets("Feuil1")
    Toto Tata.Range("B2:D8").Copy
    .Range("C15").PasteSpecial Paste:=xlPasteFormats
End With

Ce code va me colorier la couleur qui ce trouve dans Toto.

Ps : Il faut simplement écrire Worksheets("Toto Tata") au lieu de Toto Tata

Mais par ailleurs je vous remercie infiniment pour l'aide apporter.

22classeur1.xlsm (20.84 Ko)

Bonjour,

comme tu l'as dit,

Kretuy a écrit :

1 er feuille : Feuil1

2eme feuille : Toto

3eme feuille : Toto Tata

Donc Feuil2. correspond à ta deuxième feuille peu importe son nom, sous vba, il y a le numéro de feuille et son nom, tu peux donc les nommer soit avec leur numéro soit avec leur nom, ce qui est bien de les nommer avec leur numéro c'est que peu importe son nom, tu n'as pas à changer la macro.

A plus !

Rechercher des sujets similaires à "vba coloration automatique multi couleurs"