changer couleur de la ligne sélectionnée

  • Initiateur de la discussion Vivien
  • Date de début
V

Vivien

Guest
Bonjour le forum,
Je suppose que ce sujet a déjà été traité dans le forum mais je n'ai rien trouvé dans les anciens posts !!! Voilà, je souhaiterais changer la couleur de la ligne de la cellule sélectionnée mais que la couleur d'origine de cette ligne ne soit pas effacée lorsque je sélectionne une autre cellule (autre ligne). Merci
Bonne journée.
Vivien
 
M

Marion

Guest
Bonjour à tous,
Je suis moi aussi intéressée par la mise en couleur des lignes de mon tableau lors de la sélection d'une cellule. J'ai essayé la macro de Hervé et les MEFC disparaissent, puis celle de Dan et les couleurs de fond en font de même ... J'ai tenté une 'combinaison' des deux et c'est le fiasco total !!! Qui pourrait m'aider, s'il vous plaît ? Un grand merci d'avance.
Marion
 

Dan

XLDnaute Barbatruc
Re,

Marion si tu veux faire cela avec ma macro, les MFC ne disparaissent pas. Dès que tu sélectionnes une autre ligne les couleurs MFC sont là.

Maintenant si tu veux garder la couleur de fond, c'est possible mais la solution est que la couleur donnée de la macro ne soit pas appliquée lors de la sélection de la ligne où il y a cette couleur de fond.

Il faut pour cela savoir quelle est la ligne qui comporte une couleur à ne pas effacer. Le mieux est que tu places ton fichier avec données non confidentielles.

A te lire

;)
 

pierrejean

XLDnaute Barbatruc
re Gipéhel

mais tu as bien compris

toute l'astuce est bien justement que 1 est toujours egal a 1

il s'agit d'une MFC ou la condition est toujours vraie !!!

si on me l'avait demandé je n'aurais pas su faire

et des cerveaux plus petits que celui de Robert ça pullule a commencer par le mien
 

Hervé

XLDnaute Barbatruc
bonjour tout le monde

simplement, pour confirmer les propos de l'ami pierrejean.

Si la formule de la mefc est vrai, alors on applique le format définit de la mefc.

il suffit donc de mettre une condition qui renvoi toujours vrai, ce qui est le cas avec 1=1.

sinon, marion, tu peux peut etre t'aidé de ce code, mais comme le traitement est assez long, il vaut mieux limiter le nombre de colonne (ici 10).



Dim tablo(1 To 10, 1 To 2)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Byte

If Not tablo(1, 1) = '' Then
       
For i = 1 To 10
                Range(tablo(i, 1)).Interior.ColorIndex = tablo(i, 2)
       
Next i
End If

For i = 1 To 10
        tablo(i, 1) = Cells(Target.Row, i).Address(0, 0)
        tablo(i, 2) = Cells(Target.Row, i).Interior.ColorIndex
        Cells(Target.Row, i).Interior.ColorIndex = 3
Next i

End Sub


salut
 

Discussions similaires

Statistiques des forums

Discussions
312 550
Messages
2 089 514
Membres
104 199
dernier inscrit
SimonDtx