Colorer une ligne suivant valeur VBA EXCEL
Résolu
tito23
Messages postés
305
Date d'inscription
Statut
Membre
Dernière intervention
-
tito23 Messages postés 305 Date d'inscription Statut Membre Dernière intervention -
tito23 Messages postés 305 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Colorer une ligne suivant valeur VBA EXCEL
- Aller à la ligne excel - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Partager photos en ligne - Guide
- Word et excel gratuit - Guide
3 réponses
Bonjour,
Un peu optimiser..
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Un peu optimiser..
Private Sub colorer() Dim lig As Long, N As Integer With Sheets("Feuil1") For lig = 6 To .Range("E6").End(xlDown).Row Select Case .Range("E" & lig) Case Is = "Sandbox": N = 19 'Jaune pâle pour "En attente" Case Is = "Delivery": N = 27 'Jaune foncé pour "Déclinée" Case Is = "Factory": N = 3 'Rouge pour "Perdue" Case Else: N = -4142 ' enlève la couleur End Select .Range(Cells(lig, 2), Cells(lig, 5)).Interior.ColorIndex = N Next lig End With End Sub
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
Bonjour
pas de valeur donnée à la variable "lig"
pas de valeur donnée à la variable "lig"
Merci de ta réponse, j'ai fait comme ceci, pas d'erreur mais pas de coloration pour les lignes
Private Sub colorer() ThisWorkbook.Activate Dim i As Integer Dim plage As Range Dim lig As Byte With Sheets("Feuil1") i = 6 While Cells(5, i) <> "" lig = Cells(5, i).Row Set plage = .Range(Cells(lig, 2), Cells(lig, 5)) Select Case .Range("E" & i) Case Is = "Sandbox" plage.Interior.ColorIndex = 19 'Jaune pâle pour "En attente" Case Is = "Delivery" plage.Interior.ColorIndex = 27 'Jaune foncé pour "Déclinée" Case Is = "Factory" plage.Interior.ColorIndex = 3 'Rouge pour "Perdue" Case Else plage.Interior.ColorIndex = -4142 ' enlève la couleur End Select i = i + 1 Wend End With End Sub
Merci pour ton aide, le problème est résolu, j'ai comme ça
Merci de changer le problème en résolu quand vous trouvez une solution
Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer Dim plage As Range Dim lig As Byte With Sheets("Feuil1") i = 6 While i < 50 'Cells(5, i) <> "" And lig = i Set plage = .Range(Cells(lig, 2), Cells(lig, 5)) Select Case .Range("E" & i).Value Case Is = "Sandbox" plage.Interior.ColorIndex = 19 'Jaune pâle pour "En attente" Case Is = "Delivery" plage.Interior.ColorIndex = 27 'Jaune foncé pour "Déclinée" Case Is = "Factory" plage.Interior.ColorIndex = 3 'Rouge pour "Perdue" Case Else plage.Interior.ColorIndex = -4142 ' enlève la couleur End Select i = i + 1 Wend End With End sub
Merci de changer le problème en résolu quand vous trouvez une solution