VBA : code pour colorer les cellules
Résolu
la_fouine_du_13
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
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
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
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