Changer couleur
Résolu
Viperestrike
Messages postés
7
Statut
Membre
-
Viperestrike Messages postés 7 Statut Membre -
Viperestrike Messages postés 7 Statut Membre -
A voir également:
- Changer couleur
- Changer dns - Guide
- Changer la couleur de la barre des taches - Guide
- Changer carte graphique - Guide
- Changer extension fichier - Guide
- Changer wifi chromecast - Guide
3 réponses
Bonjour,
Ce site peut te débloquer sur plusieurs points :
https://www.excel-pratique.com/fr/vba.php
- Leçon sur les boucles
- Leçon sur les feuilles et cellules pour les couleurs.
Pour détecter le changement de valeur, tu peux utiliser une variable intermédiaire qui stocke la valeur de la cellule qui passée en revue et qui est gardée telle quelle jusqu'au tour de boucle suivante où elle pourra servir de comparaison.
Ce site peut te débloquer sur plusieurs points :
https://www.excel-pratique.com/fr/vba.php
- Leçon sur les boucles
- Leçon sur les feuilles et cellules pour les couleurs.
Pour détecter le changement de valeur, tu peux utiliser une variable intermédiaire qui stocke la valeur de la cellule qui passée en revue et qui est gardée telle quelle jusqu'au tour de boucle suivante où elle pourra servir de comparaison.
Voici :
Adapte ce qui doit l'être...
Adapte ce qui doit l'être...
Sub Colore()
Dim Wsh As Worksheet, PremLig As Integer, DrLig As Integer, Col As Integer, DrCol As Integer
Dim Couleur As Integer, Couleur_1 As Integer, Couleur_2 As Integer
Set Wsh = Worksheets("Feuil1") 'A ADAPTER : Nom de la feuille
Col = 1 'A ADAPTER : Numéro de la colonne à traiter (ici A)
DrCol = 10 'A ADAPTER : Numéro de la dernière colonne à colorer
PremLig = 1 'A ADAPTER : Numéro de la première ligne traitée (ici 1)
Couleur_1 = 3 'A ADAPTER : Couleur n° 1
Couleur_2 = 27 'A ADAPTER : Couleur n° 2
Couleur = Couleur_1
With Wsh
DrLig = .Columns(Col).Find("*", , , , , xlPrevious).Row
For Lig = PremLig To DrLig
.Range(.Cells(Lig, Col), .Cells(Lig, DrCol)).Interior.ColorIndex = Couleur
If .Cells(Lig, Col).Value <> .Cells(Lig + 1, Col).Value Then
Couleur = IIf(Couleur = Couleur_1, Couleur_2, Couleur_1)
End If
Next Lig
End With
End Sub


Merci pour votre réponse.
J'ai déjà été sur ce site, j'avais fait une boucle mais je n'ai pas réussi à colorer toutes les cases ayant le même nom de la même couleur (c'était soit le premier, soit la dernière case qui restait sans couleur)