VBA : code pour colorer les cellules
Résolu/Fermé
la_fouine_du_13
Messages postés
14
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012
-
5 juin 2012 à 13:49
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 6 juin 2012 à 15:14
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 6 juin 2012 à 15:14
A voir également:
- Vba colorer une cellule en fonction de sa valeur
- Fonction si et - Guide
- Excel colorer une cellule si - Guide
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
- Aller à la ligne dans une cellule excel - Guide
- Excel compter cellule couleur sans vba - Guide
6 réponses
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
5 juin 2012 à 15:25
5 juin 2012 à 15:25
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
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
5 juin 2012 à 14:04
5 juin 2012 à 14:04
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
la_fouine_du_13
Messages postés
14
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012
5 juin 2012 à 14:31
5 juin 2012 à 14:31
je me suis mal exprimée en faite je veux que mon code balaye et colore toutes les lignes et ne colore pas que la dernière alors j'ai élaboré ce code en pensant qu'il s'arrêterait à la dernière ligne mais ça n'exécute pas ce que je souhaite réaliser
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
5 juin 2012 à 14:32
5 juin 2012 à 14:32
toutes les lignes de la colonne E?
la_fouine_du_13
Messages postés
14
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012
5 juin 2012 à 14:37
5 juin 2012 à 14:37
oui
j'avais qu'un objectif en tête c'était de trouver ma dernière ligne mais je veux aussi que selon les valeurs la précédente soit colorée
j'avais qu'un objectif en tête c'était de trouver ma dernière ligne mais je veux aussi que selon les valeurs la précédente soit colorée
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
Modifié par ccm81 le 5/06/2012 à 14:42
Modifié par ccm81 le 5/06/2012 à 14:42
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
la_fouine_du_13
Messages postés
14
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012
5 juin 2012 à 15:02
5 juin 2012 à 15:02
ç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
la_fouine_du_13
Messages postés
14
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012
5 juin 2012 à 15:14
5 juin 2012 à 15:14
si la valeur = A couleur 28
si la valeur = B couleur 45
si case vide pas de coloration
si la valeur = B couleur 45
si case vide pas de coloration
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
Modifié par ccm81 le 6/06/2012 à 15:20
Modifié par ccm81 le 6/06/2012 à 15:20
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
ccm81
Messages postés
10903
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
19 novembre 2024
2 427
5 juin 2012 à 15:11
5 juin 2012 à 15:11
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
la_fouine_du_13
Messages postés
14
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012
6 juin 2012 à 13:55
6 juin 2012 à 13:55
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
la_fouine_du_13
Messages postés
14
Date d'inscription
mercredi 9 mai 2012
Statut
Membre
Dernière intervention
6 juin 2012
6 juin 2012 à 14:26
6 juin 2012 à 14:26
ça se colore selon la valeur de la dernière cellule moi je veux que ça se colore selon la valeur de chaque cellule si c'est A ça prend telle couleur si c'est B ça prend telle autre couleur