Re,
Normal que cela ne fonctionne pas, ton fichier ne correspond pas au premier que tu as donné.
Remplace le code comme suit :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Macro Dan pour canic le 22/12/09
If Not Intersect(Target, Range("U5:AG" & Range("T65536").End(xlUp).Row)) Is Nothing Then
Select Case UCase(Target)
Case Is = "X"
Target.Interior.ColorIndex = Cells(Target.Row, 36).Interior.ColorIndex
Case Is = ""
Target.Interior.ColorIndex = -4142
End Select
End If
End Sub
J'ai aussi modifié une partie du code pour que si tu enlèves le X, la couleur redevienne blanche.
...Or je vois que si je change sa couleur ("réalisé 2010") la cellule de destination avec le "x" reste dans la couleur précédente. est ce paramétrable?
Tout est possible mais c'est moins évident à faire car il faut revoir sur la même ligne toutes les cellules incluant un X. Je vais essayer de voir cela mais confirme que le code fonctionne correctement.
A te relire
Dan
Edit Dan : Pour le changement de couleur dans "réalisé 2010", place le code ci-dessous juste après le précédent
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Macro Dan pour Canic le 06/01/2010
If Not Intersect(Target, Range("AJ5:AJ" & Range("T65536").End(xlUp).Row)) Is Nothing Then
If IsEmpty(Target) Then Exit Sub
With target
For Each cel In Range("U" & .Row & ":AG" & .Row)
If UCase(cel) = "X" Then cel.Interior.ColorIndex = .Interior.ColorIndex
Next
End with
End If
End Sub
Une fois la couleur changée, clique dans une cellule à coté puis reclique dans la cellule modifiée pour adapter les couleurs.
Amicalement
Dan