Mise en forme conditionnelle ou macro?

Misty

XLDnaute Occasionnel
Bonsoir le forum,

J'aimerais que la colonne D change de couleur si le même élément se retrouve dans la colonne B. Donc par exemple si CFS006 se retrouve dans la colonne D le colorié en jaune, si CFS007 de retrouve dans D le colorié en rouge et ça pour chacun des CSF... de la colonne B.

Merci de m'aider
 

Pièces jointes

  • Copie de Test (3).xls
    16.5 KB · Affichages: 29

JBARBE

XLDnaute Barbatruc
Re : Mise en forme conditionnelle ou macro?

Bonsoir à tous,

Peut-être ceci avec des couleurs différentes que celles annoncées

PS : nommer D4:D11 >> Liste

Code:
Option Explicit

Sub color()
Dim i As Long
Dim C As Range
 For Each C In Range("Liste")
 For i = 4 To 65536
  If Cells(i, 2) = C And Cells(i, 2) <> "" Then
   C.Interior.ColorIndex = i-2
 End If
 Next i
 Next C
End Sub

bonne soirée
 
Dernière édition:

Misty

XLDnaute Occasionnel
Re : Mise en forme conditionnelle ou macro?

Merci de ta réponse,

Sauf que j'aimerais que si par exemple CSF006 apparait dans la colonne D et bien le CSF006 dans la colonne B et dans la colonne D se colore d'une couleur.
Car la colonne B c'est l'inventaire et la colonne D c'est une pièce d'inventaire qui a été utilisée. Donc si je donne le CSF006 de la colonne B je voudrais qu'il apparaisse de la même couleur dans la colonne D. Et j'aimerais avoir des couleurs différentes pour chaque CSF...

Merci
 

JBARBE

XLDnaute Barbatruc
Re : Mise en forme conditionnelle ou macro?

Ci-joint le fichier et ici la macro modifiée sachant qu'il y a 56 couleurs différentes
Code:
Option Explicit

Sub color()
Dim i As Long
Dim C As Range
 For Each C In Range("Liste")
 For i = 4 To 65536
  If Cells(i, 2) = C And Cells(i, 2) <> "" Then
   C.Interior.ColorIndex = i - 2
   Cells(i, 2).Interior.ColorIndex = i - 2
 End If
 Next i
 Next C
End Sub

PS: la coloration est un peu longue, mais il n'y a pas moyen de faire autrement ( pour moi )
 

Pièces jointes

  • Copie de Test (3)-1.xls
    63.5 KB · Affichages: 24
  • Copie de Test (3)-1.xls
    63.5 KB · Affichages: 25
  • Copie de Test (3)-1.xls
    63.5 KB · Affichages: 24
Dernière édition:

JBARBE

XLDnaute Barbatruc
Re : Mise en forme conditionnelle ou macro?

ici jusqu'à 448 saisies mais les couleurs reviennent au bout de 56 présentées :

Code:
Option Explicit

Sub color()
Dim i As Long
Dim C As Range
 For Each C In Range("Liste")
 For i = 4 To 65536
  If Cells(i, 2) = C And Cells(i, 2) <> "" And i <= 56 Then
   C.Interior.ColorIndex = i - 2
   Cells(i, 2).Interior.ColorIndex = i - 2
  ElseIf Cells(i, 2) = C And Cells(i, 2) <> "" And i > 56 And i <= 112 Then
  C.Interior.ColorIndex = i - 56 + 2
   Cells(i, 2).Interior.ColorIndex = i - 56 + 2
   ElseIf Cells(i, 2) = C And Cells(i, 2) <> "" And i > 112 And i <= 224 Then
  C.Interior.ColorIndex = i - 112 + 2
   Cells(i, 2).Interior.ColorIndex = i - 112 + 2
   ElseIf Cells(i, 2) = C And Cells(i, 2) <> "" And i > 224 And i <= 448 Then
  C.Interior.ColorIndex = i - 224 + 2
   Cells(i, 2).Interior.ColorIndex = i - 224 + 2
 End If
 Next i
 Next C
End Sub
 

Pièces jointes

  • Copie de Test (3)-1.xls
    69.5 KB · Affichages: 40
  • Copie de Test (3)-1.xls
    69.5 KB · Affichages: 42
  • Copie de Test (3)-1.xls
    69.5 KB · Affichages: 42

Misty

XLDnaute Occasionnel
Re : Mise en forme conditionnelle ou macro?

Merci beaucoup JBarbe, je vais prendre la version de 19h05, car celui à 448 saisies sur mon ordi il roule , il roule et ne se termine pas :(

Celui de 19h05 est parfait, merci beaucoup pour ton aide!
 

Statistiques des forums

Discussions
312 310
Messages
2 087 113
Membres
103 474
dernier inscrit
taha1995