VBA : code pour colorer les cellules
Résolu
la_fouine_du_13
Messages postés
16
Statut
Membre
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
J'essaye d'élaborer un code selon la valeur insérée dans la cellule.
Je connais la colonne (E) mais le nombre de ligne est variable
Mon code ne fonctionne pas et je ne trouve aucune solution
Si la valeur est A on a telle couleur et si c'est B c'est une autre couleur
merci d'avance
J'essaye d'élaborer un code selon la valeur insérée dans la cellule.
Je connais la colonne (E) mais le nombre de ligne est variable
Mon code ne fonctionne pas et je ne trouve aucune solution
Si la valeur est A on a telle couleur et si c'est B c'est une autre couleur
Sub colorer()
Dim fin As Long
fin = Range("E" & Rows.Count).End(xlUp).Row
Select Case Cells(fin, 5).Value
Case Is = "A"
Cells(fin, 5).Interior.ColorIndex = 28
Case Is = "B"
Cells(fin, 5).Interior.ColorIndex = 45
End Select
End Sub
merci d'avance
A voir également:
- Vba colorier cellule
- Excel compter cellule couleur sans vba - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Diviser une cellule excel en deux horizontalement ✓ - Forum Excel
6 réponses
comme çà?
Const col = "D"
Sub colorer()
Dim fin As Long, li As Long
Dim v
fin = Range(col & Rows.Count).End(xlUp).Row
v = Range(col & fin).Value
For li = 1 To fin
If Range(col & li) <> "" Then
Select Case v
Case "A": Range(col & li).Interior.ColorIndex = 28
Case "B": Range(col & li).Interior.ColorIndex = 45
End Select
End If
Next li
End Sub
bonjour
ton code fonctionne très bien
de la façon suivante (voir ta demande)
à l'appel de la macro
si la dernière cellule non vide de la colonne E est "A" couleur bleue
si la dernière cellule non vide de la colonne E est "B" couleur orange
bonne suite
ton code fonctionne très bien
de la façon suivante (voir ta demande)
à l'appel de la macro
si la dernière cellule non vide de la colonne E est "A" couleur bleue
si la dernière cellule non vide de la colonne E est "B" couleur orange
bonne suite
1. pour colorer toutes les lignes de la colonne E
2. pour colorer les deux dernières lignes de la colonne E
remplcer la définition de la plage par
3. autre ?
bonne suite
Sub colorer()
Dim fin As Long
Dim plage As String
fin = Range("E" & Rows.Count).End(xlUp).Row
plage = "E1:E" & fin
Select Case Cells(fin, 5).Value
Case "A": Range(plage).Interior.ColorIndex = 28
Case "B": Range(plage).Interior.ColorIndex = 45
End Select
End Sub
2. pour colorer les deux dernières lignes de la colonne E
remplcer la définition de la plage par
plage = "E" & fin - 1 & ":E" & fin
3. autre ?
bonne suite
ça me colore toute la colonne sans distinction de case vide pleine avec telle ou telle valeur
Sub colorer()
Dim fin As Long
Dim plage As String
fin = Range("D" & Rows.Count).End(xlUp).Row
plage = "D1:D" & fin
Select Case Cells(fin, 4).Value
Case "A": Range(plage).Interior.ColorIndex = 28
Case "B": Range(plage).Interior.ColorIndex = 45
End Select
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
on va finir par y arriver
RQ. si c'est ce que tu voulais, pas besoin de VBA pour faire ça, une mise en forme conditionnelle suffisait
bonne suite
Const col = "D"
Sub colorer()
Dim fin As Long, li As Long
Dim v
fin = Range(col & Rows.Count).End(xlUp).Row
For li = 1 To fin
v = Range(col & li).Value
Select Case v
Case "A": Range(col & li).Interior.ColorIndex = 28
Case "B": Range(col & li).Interior.ColorIndex = 45
Case Else: Range(col & li).Interior.ColorIndex = xlNone
End Select
Next li
End Sub
RQ. si c'est ce que tu voulais, pas besoin de VBA pour faire ça, une mise en forme conditionnelle suffisait
bonne suite
exactement, et est ce que ça te convient?
sinon, il te faut expliquer plus précisément ce que tu veux
sinon, il te faut expliquer plus précisément ce que tu veux
je l'ai mis dans un bouton VBA mais ça ne marche pas
Sub colorer()
Dim fin As Long
Dim li As Long
Dim v
Const col = "D"
fin = Range(col & Rows.Count).End(xlUp).Row
v = Range(col & fin).Value
For li = 1 To fin
If Range(col & li) <> "" Then
Select Case v
Case "A": Range(col & li).Interior.ColorIndex = 28
Case "B": Range(col & li).Interior.ColorIndex = 45
End Select
End If
Next li
End Sub