Changer couleur
Résolu
Viperestrike
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Viperestrike Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Viperestrike Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Changer couleur
- Changer dns - Guide
- Changer la couleur de la barre des taches - Guide
- Excel cellule couleur si condition texte - Guide
- Changer carte graphique - 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)