ligne qui se colorie selon valeur cellule

  • Initiateur de la discussion Initiateur de la discussion Chico64
  • 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 !

C

Chico64

Guest
Bonjour A tous,

Un problème à vous exposer:

J'ai sur une feuille excel plein de données, sur les cellules de la colonne "B", je peux écrire soit A , soit B, soit C, soit D et soit E. Si A est écrit dans la cellule "B1" par exemple alors la ligne "B1" jusqu'à "G1" sera coloriée en jaune, si "B" est écrit dans la cellule 'B2" par exemple alors la ligne "B2" jusqu'à "G2" sera coloriée en orange, ....

Je pense avoir réussi à créer cette fonction en VBA mais je ne sais pas sous quel événement il faut la mettre.

J'aimerais si cela est possible que dès que l'on écrit par exemple "A" dans la cellule et que l'on clique sur une autre cellule et bien la ligne correspondante se colorie automatiquement, je ne veux pas de bouton.... si vous avez d'autre solution.

Code:
Sub testColor()

Sheets("donnée").Select
DerLigne = Range("b65000").End(xlUp).Rows.Row

 For i = 1 To DerLigne

        Range("B1").Select
    
        test = ActiveCell.Offset(i, 0).Value
    
            If test = "A" Or test = "A1" Then
            y = i + 1
            Range("B" & y & ":G" & y).Select
                With Selection.Interior
                    .ColorIndex = 41
                    .Pattern = xlSolid
                End With
            End If
                
                If test = "B" Then
                y = i + 1
                Range("B" & y & ":G" & y).Select
                    With Selection.Interior
                        .ColorIndex = 33
                        .Pattern = xlSolid
                    End With
                End If
                
                If test = "C" Then
                y = i + 1
                Range("B" & y & ":G" & y).Select
                    With Selection.Interior
                        .ColorIndex = 11
                        .Pattern = xlSolid
                    End With
                End If
                
                If test = "D" Then
                y = i + 1
                Range("B" & y & ":G" & y).Select
                    With Selection.Interior
                        .ColorIndex = 50
                        .Pattern = xlSolid
                    End With
                End If
                
     Next
End Sub
 
Re : ligne qui se colorie selon valeur cellule

Bonjour,

je n'ai pas de grande connaissance en vb, mais j'aurai fait ça :

Private Sub Worksheet_Change(ByVal Target As Range)

je pense que ça devrait marcher.
A tester
Maintenant, il y a surement d'autres personnes qui seront plus à meme de te répondre.
Bonne journée
Minipuce
 
Re : ligne qui se colorie selon valeur cellule

Bonjour,

Voir PJ
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column = 2 Then
   On Error Resume Next
   Cells(Target.Row, 1).Resize(, 7).Interior.ColorIndex = [etat].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
 End If
End Sub


JB
Formation Excel VBA JB
 

Pièces jointes

Re : ligne qui se colorie selon valeur cellule

Merci bcp,

Mais j'ai un problème, je n'arrive pas à réaliser ce que tu as fait sur ma feuille excel.

Je te donne en piéce jointe mon fichier excel, pourrais tu le regarder ?

Je te remercie.
 

Pièces jointes

Re : ligne qui se colorie selon valeur cellule

Encore Merci pour ton aide JB,

Une question, c'est ou que tu spécifies que tu veux colorier la ligne de "A" à "G".

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

 If Target.Column = 2 Then
   On Error Resume Next
   Cells(Target.Row, 1).Resize(, 7).Interior.ColorIndex = [Site].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
 End If

End Sub

En fait j' aimerai comprendre ton code :
Je ne comprends pas :

Target
Target.Column = 2 non plus
Cells(Target.Row, 1).Resize(, 7).Interior.ColorIndex = [Site].Find(Target, LookAt:=xlWhole).Interior.ColorIndex

Je te remercie.
 
Re : ligne qui se colorie selon valeur cellule

Re,

Pourriez-vous m'expliquer ?

Le paramétre Target qui arrive dans la fonction et à quoi sert-il dans cette fonction
Code:
Target

Et aussi pourquoi ceci:
Code:
Target.Column = 2

Enfin, je ne comprends pas avec ce code pourquoi pour toutes les cellules de la colonnes "B", une petite fleche en bas à droite apparait et lorsque l'on clique dessus une liste déroulante apparait. (je trouve ca super bien).
Mais j'aimerais savoir quel est le code qui permet de faire ça ?

Merci davance.
Chico
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
5
Affichages
899
Retour