La couleur est déterminer par la valeur de CurrentColor = clr(clrec) puis lorsqu'on clic : Target.Interior.Color = CurrentColor
Public Sub BOUTON_couleur() 'bouton Couleur
Dim couleur1, couleur2, couleur3, couleur4, couleur5, couleur6, couleur7, couleur8, couleur9, couleur10, couleur11, couleur12, couleur13, couleur14
Dim clr
couleur1 = RGB(255, 0, 0)
couleur2 = RGB(0, 0, 255)
couleur3 = RGB(0, 180, 64)
couleur4 = RGB(255, 255, 0)
couleur5 = RGB(192, 32, 224)
couleur6 = RGB(0, 255, 255)
couleur7 = RGB(255, 128, 64)
couleur8 = RGB(128, 128, 160)
couleur9 = RGB(0, 0, 0)
couleur10 = RGB(255, 255, 255)
couleur11 = RGB(0, 255, 64)
couleur12 = RGB(0, 160, 255)
couleur13 = RGB(255, 192, 96)
couleur14 = RGB(192, 128, 32)
Static clrec As Integer
clr = Array(couleur1, couleur2, couleur3, couleur4, couleur5, couleur6, couleur7, couleur8, couleur9, couleur10, couleur11, couleur12, couleur13, couleur14)
clrec = (clrec + 1) Mod 14
ActiveSheet.Shapes("Rectangle 37").Select
Selection.ShapeRange.Fill.ForeColor.RGB = clr(clrec)
CurrentColor = clr(clrec)
Set Oldcel = ActiveCell 'on sauvegarde la position de la cellule
Range("A600").Select 'pour que un clic sur une cellule soit tjrs vu comme une nouvelle sélection
Oldcel.Select 'On reprend la position de depart sauvegarde
End Sub
If Not Application.Intersect(Target, Range("B3:G600")) Is Nothing Then 'clic dans une cellule de colonne B,C,D,E,F,G
Target.Interior.Color = CurrentColor 'essayer d'éviter d'utiliser sélection, ralenti le processus! voir Forum.