Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Motif de lignes variable

  • Initiateur de la discussion Initiateur de la discussion JoAnita
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JoAnita

XLDnaute Nouveau
Bonjour à toutes et tous,

Ma recherche porte sur la couleur de fond d'une ligne en fonction de la valeur d'une cellule.
Il y a 7 valeurs possibles contenu dans la plage C1 à C** qui correspondent à 7 couleurs (voir onglet couleur).

J'aimerai pouvoir pour chaque ligne (A1:C1) à (A**:C**) mettre un fond de couleur dépendant de la valleur en C.

J'espère pouvoir trouver une solution à mettre en oeuvre.....

Bonne journée.
 

Pièces jointes

Re : Motif de lignes variable

Salut,

Une solution via une macro evenementielle (a placer dans le module de la feuille DATA) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim couleur As Variant
If Not Intersect(Target, Range("C2:C" & Range("C65536").End(xlUp).Row)) Is Nothing Then
    With Sheets("COULEURS")
        For j = 1 To 7
            If .Cells(1, j).Value = Target.Value Then
                couleur = .Cells(2, j).Interior.ColorIndex
                Exit For
            End If
        Next j
    End With
    Rows(Target.Row).Interior.ColorIndex = couleur
End If
End Sub

@+
 
Re : Motif de lignes variable

Bonjour Porcinet82,

Sympa comme solution et automatique en plus........
Si l on veut limiter la plage à colorer de Axx à Cxx (au lieu de toute la ligne, est-ce possible?

En tout cas un grand merci à toi.
 
Re : Motif de lignes variable

Bonjour,

J'y aavais pensé
Par exemple de la colonne 1 à la colonne 3
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim couleur As Variant
    If Not Intersect(Target, Range("C2:C" & Range("C65536").End(xlUp).Row)) Is Nothing Then
        With Sheets("COULEURS")
            For j = 1 To 7
                If .Cells(1, j).Value = Target.Value Then
                    couleur = .Cells(2, j).Interior.ColorIndex
                    Exit For
                End If
            Next j
        End With
        Set Tab1 = Range(Cells(Target.Row, 1), Cells(Target.Row, 3))
        Union(Tab1, Tab1).Select
        Selection.Interior.ColorIndex = couleur
    End If
End Sub
 
Re : Motif de lignes variable

Bonjour Renauder,

Merci également pour ta réponse.
Ca me convient d'autant plus qu'avant je pasais par des MFC......mais au delà de 3 valeurs ca a été la panique....

Agréable journée à vous
 
Re : Motif de lignes variable

re, Salut Eric,

Juste histoire de chipoter un peu et pour faire un poil plus court que la solution d'Eric (egalement pour eviter le Select) :
Remplacer les 3 lignes suivantes
Set Tab1 = Range(Cells(Target.Row, 1), Cells(Target.Row, 3))
Union(Tab1, Tab1).Select
Selection.Interior.ColorIndex = couleur


par :
Range(Cells(Target.Row, 1), Cells(Target.Row, 3)).Interior.ColorIndex = couleur

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
176
  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
291
Réponses
6
Affichages
229
  • Question Question
Microsoft 365 Tableau
Réponses
24
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…