Bonjour,
je me permets de vous demander de l'aide sur une macro vba qui a pour objectif de réaliser une mise en forme conditionnelle en fonction des critères affichés dans les cellules d'une colonne.
Ainsi si la valeur de la cellule est 1 alors la cellule est rouge et le texte aussi
Si la valeur est 0 alors la cellule est blanche et le texte blanc.
Je souhaite faire une macro car je réalise ce tableau de bord sur excel 2007 et lorsque mes collègues l'ouvre sur 2003 la mise en forme conditionnelle saute?!?.
j'ai donc trouver le code suivant qui fonctionne mais ....
Le problème est que mes valeurs qui s'affiche dans mes celulles (1 ou 0) sont issues d'un calcul et que la macro ne fonctionne pas sauf si je tape directement la valeur (1 ou 0) dans la celllule ?????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim Plage As Range, c As Range Dim Klr As Integer Dim Fnt As Byte If InStr("Fusion NPC", Sh.Name) > 0 Then 'adapter le nom des feuilles concernées Set Plage = Intersect(Target, Range("F3:F20000")) 'Range("F3:F20000") à adapter If Not Plage Is Nothing Then For Each c In Plage Select Case c.Value Case "1": Klr = 3: Fnt = 3 Case "0": Klr = 2: Fnt = 2 '.... Case Else: Klr = xlNone: Fnt = 0 End Select c.Interior.ColorIndex = Klr c.Font.ColorIndex = Fnt Next c End If Set Plage = Nothing End If End Sub
Par avance merci pour votre aide
Cordialement
Partager