Changement de couleur d'une cellule

-2

Bonjour,

Sur une plage de 20 cellules (A1:A20 par exemple) 

Sur A1, je mets une valeur. La cellule prends une couleur au hasard.

Sur A2, je mets une autre valeur. La cellule doit automatiquement prendre une autre couleur au hasard mais différente de la première cellule.

Et ainsi de suite....

Y-a-t'il une formule particulière ou bien un code ?

Merci d'avance pour votre réponse.

Posté le 14 août 2018, 10:01
par Jérôme
Répondre
-1

Bonjour,


Essaies ce code dans le module de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Target, [A1:A20]) Is Nothing Then Exit Sub
  ColorerCellule Target
End Sub
Sub ColorerCellule(r As Range)
Dim a As Integer
Dim p As Range
Dim c As Range
Dim d As Range
Dim e As Boolean
  Randomize
  Set p = Range("A1:A20")
  For Each c In r.Cells
  If c.Formula <> "" Then
  e = False
  Do
  ' aléa Colorindex 1 à 56
  a = Int(Rnd * 56) + 1
  For Each d In p.Cells
  If d.Interior.ColorIndex = a Then
  e = True  'Couleur existante dans la plage
  Exit For
  End If
  Next d
  Loop While e
  c.Interior.ColorIndex = a
  Else
  c.Interior.ColorIndex = xlNone
  End If
  Next c
End Sub

Patrice33740 Posté le 16 août 2018, 13:38
par Patrice33740
1

Bonjour Patrice,

Merci de votre aide.

Ca fonctionne plus ou moins bien, mais à un moment donné, Excel plante.

Sinon, concernant le fonctionnement, quand je repasse d'une cellule à l'autre avec le clavier ou la souris (en cliquant), les couleurs rechangent sans cesse.

L'idée était que par exemple j'indique une valeur sur A1, la celulle prends une couleur mais qui reste ensuite figée.

J’inscris ensuite une valeur sur A2, ou bien A3 et la cellule prends une autre couleur différente mais qui restera figée à son tour, etc...

Voilà.

En tout cas, encore merci pour cette réponse

Jérôme

Posté le 30 août 2018, 11:18

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :