charlysquare
XLDnaute Nouveau
Hello,
J'ai une macro de mise en forme conditionnelle qui tourne bien sous excel 2003, mais pas sous 2007.
Le but est de surligner les cases abcisse et ordonnée pour positionner visuellement le curseur.
Sous 2007, je suis obligé de rafraichir l'écran (passer sur une autre fenêtre par exemple, puis revenir sous excel, ou bien encore utiliser l'ascenseur pour rafraichir la vue) pour que mon "calculate" m'affiche bien dynamiquement les couleurs au clic de la souris.
Voici le code :
Une idée pour rendre ce script compatible 2003 et 2007 ?
Merci d'avance,
Charly
J'ai une macro de mise en forme conditionnelle qui tourne bien sous excel 2003, mais pas sous 2007.
Le but est de surligner les cases abcisse et ordonnée pour positionner visuellement le curseur.
Sous 2007, je suis obligé de rafraichir l'écran (passer sur une autre fenêtre par exemple, puis revenir sous excel, ou bien encore utiliser l'ascenseur pour rafraichir la vue) pour que mon "calculate" m'affiche bien dynamiquement les couleurs au clic de la souris.
Voici le code :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
' Conditionnal formatting
If Not Application.Intersect(Target, Range("C2:C300")) Is Nothing Then
On Error Resume Next
If Target = "Lost" Then
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Interior.ColorIndex = 3
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.ColorIndex = 2
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.Bold = True
End If
If Target = "Win" Then
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Interior.ColorIndex = 4
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.ColorIndex = 1
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.Bold = True
End If
If Target = "Warning" Then
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Interior.ColorIndex = 45
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.ColorIndex = 2
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.Bold = True
End If
If Target = "Cancelled" Then
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Interior.ColorIndex = 1
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.ColorIndex = 2
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.Bold = True
End If
If Target = "Pending" Then
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Interior.ColorIndex = 35
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.ColorIndex = 1
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.Bold = True
End If
If Target = "Detected" Then
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Interior.ColorIndex = 15
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.ColorIndex = 1
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Font.Bold = True
End If
If Target = "" Then
Range(Cells(Target.Row, Target.Column), Cells(Target.Row, Target.Column)).Interior.ColorIndex = xlNone
End If
End If
End Sub
Une idée pour rendre ce script compatible 2003 et 2007 ?
Merci d'avance,
Charly