Code pour copier la couleur de fond d une cellule

Bonjour a tous,

j ai ecris ce petit code qui me permet de recopier la couleur de fond d une cellule. Si sur la plage A6:A40 de la feuille 1, le fond d une cellule est different de colorindex 24 alors, je veux que le fond sur la feuille 2 de la meme cellule prenne la meme couleur.

Ca marche MAIS, il faut systematiquement que je reselectionne ma cellule de la feuille 1 pour que le changement se fasse sur la feuille 2. Si apres avoir modifié la couleur sur 1 je ne repasse pas sur la cellule modifiée alors rien ne se passe sur 2.

voici mon code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    If Target.Column <> 1 Then Exit Sub
    If Target.Row < 5 Then Exit Sub
    If Target.Row > 40 Then Exit Sub

     icourant = Target.Row

           If Worksheets("1").Cells(icourant, 1).Interior.ColorIndex <> 24 Then

           Worksheets("2").Cells(icourant, 4).Interior.ColorIndex = Worksheets("1").Cells(icourant, 1).Interior.ColorIndex

   End If

End Sub
    

C est la preniere fois que j utilise selectionchange....je joints mon fichier avec.

quelqu un a une idee ?

Merci beaucoup.

Bonjour,

Tu peux utiliser la procédure évènementielle Worksheet.Activate.

A chaque activation de la feuille 2, les couleurs sont mises à jour ...

Cordialement.

Merci Gyrus pour la proposition,

le probleme c est que cette feuille 2, je ne l ouvre pas. Elle me sert juste a recuperer des infos des differentes autres feuilles (dont la feuille 1) et ensuite depuis la feuille 1 j ai un bouton pour imprimer cette feuille 2.

Donc je dois trouver une autre solution...

As-tu fait l'essai d'impression ?

Cordialement.

oui les couleurs ne s impriment pas

Dans la procédure lancée avec le bouton pour imprimer, tu peux forcer l'activation de la feuille "2" avant impression.

Cordialement.

ok je vais essayer, mais j aimerais quand même bien trouver une solution plus "propore" et surtout j aimerais bien comprendre d ou vient le probleme.

Merci a toi

La difficulté tient au fait que le changement de couleur de cellule n’est pas considéré comme un évènement par Excel. Tu ne peux donc pas l’associer à une procédure évènementielle.

Si le changement de couleur en feuille 1 était lié à un changement de valeur, tu pourrais utiliser l’événement Change.

Avec l’évènement Activate, j’ai testé la procédure suivante qui affiche un aperçu avant impression et le fonctionnement est correct car la feuille est activée.

Sub test()
Worksheets("2").PrintPreview
End Sub

Cordialement.

Désolé pour le retard, mais j ai bien reussi a faire ce que je voulais en bidouillant un peu.

Merci pour ton aide et l explication !

floreli

Rechercher des sujets similaires à "code copier couleur fond"