Coloration cellule en fonction du résultat

  • Initiateur de la discussion Initiateur de la discussion amocco
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

amocco

XLDnaute Occasionnel
Bonjour ,

Pourriez vous me dire comment , en VBA, colorier les cellules J8 à X8 en fonction du resultat dans la cellule I8 .
Par exemple j ai le code AA en I8 , donc les cellules de J8 à X8 se colorient en bleu
et ainsi de suite a chaque ligne ...

merci pour votre aide
 

Pièces jointes

Re : Coloration cellule en fonction du résultat

Bonjour amocco
Essayez la procédure évènementielle (à placer dans la feuille Feuil1 de votre classeur) que voici :
Code:
[COLOR="DarkSlateGray"][B]Private Sub Worksheet_Change(ByVal Target As Range)
Dim codCol As Range, oCel As Range, oDat As Range
   If Not Intersect(Target, Columns(9)) Is Nothing Then
      Set codCol = Range("Z3:Z13")
      With Intersect(Target, Columns(9))
         For Each oDat In .Cells
            For Each oCel In codCol.Cells
               If oDat.Value = oCel.Value Then
                  oDat.Offset(0, 1).Resize(1, 15).Interior.ColorIndex = oCel.Interior.ColorIndex
                  Exit For
               End If
            Next oCel
         Next oDat
      End With
   End If
End Sub[/B][/COLOR]
ROGER2327
#3518


Vendredi 6 Merdre 137 (Saint Cucufat, mécène, SQ)
4 Prairial An CCXVIII
2010-W20-7T08:17:48Z
 
Re : Coloration cellule en fonction du résultat

Bonjour ROGER2327
Par contre la cellule I8 change lorsque je rentre des paramètres dans d'autres cellules . Donc j obtiens d'autres codes.et la cela ne marche plus car les couleurs ne se re-actualise pas .

merci
 
Re : Coloration cellule en fonction du résultat

Re...
S'il y a une formule dans les cellules de la colonne I, il est normal que la procédure ne fonctionne pas correctement.
Dans ce cas, essayez ce code :
Code:
[COLOR="DarkSlateGray"][B]Private Sub Worksheet_Change(ByVal Target As Range)
Dim codCol As Range, oCel As Range, oDat As Range, antCel As Range
   Set antCel = Range("A2:A5, A11, C1:E1") [COLOR="SeaGreen"]'Plage des cellules qui provoquent une mise à jour dans la colonne 9. À adapter...[/COLOR]
   If Not Intersect(Target, antCel) Is Nothing Then
      With Range(Cells(1, 9), Cells(Rows.Count, 9).End(xlUp))
         .Copy Destination:=.Cells
      End With
   ElseIf Not Intersect(Target, Columns(9)) Is Nothing Then
      Set codCol = Range("Z3:Z13")
      With Intersect(Target, Columns(9))
         For Each oDat In .Cells
            For Each oCel In codCol.Cells
               If oDat.Value = oCel.Value Then
                  oDat.Offset(0, 1).Resize(1, 15).Interior.ColorIndex = oCel.Interior.ColorIndex
                  Exit For
               End If
            Next oCel
         Next oDat
      End With
   End If
End Sub[/B][/COLOR]
Il faut adapter la définition de antCel à vos besoins.
Je joins un classeur de démonstration dans lequel les cellules qui provoquent les modifications dans la colonne I sont A2:A5, A11, C1:E1.​
ROGER2327
#3628


Mardi 17 Merdre 137 (Saint Saint Woland, professeur, SQ)
15 Prairial An CCXVIII
2010-W22-4T12:30:41Z
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
676
Réponses
10
Affichages
408
Réponses
16
Affichages
583
Réponses
3
Affichages
266
Réponses
12
Affichages
369
Réponses
5
Affichages
665
Retour