Bonjour,

Mon problème est le suivant :

J'ai besoind e faire l'analyse de plusieurs feuilles identiques dans la mise en forme d'un classeur.
L'analyse consiste à identifier les écart de valeur entre 3 données et pour mieux les visualiser, elles seront colorées en rouge.

exemple : "G20" = 20 , "K20"=21 alors elle seront colorées en rouge (seulement la police) etc...
ainsi, j'ai codé ceci (J'utilise le VBA avec parcimonie et je n'ai appris son existence il n'y a qu'un mois, je sais je me suis déjà auto-flagellé ^^)

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
24
Sub difference()
    Dim WS As Worksheet
 
For Each WS In Worksheets
    If WS.Name <> "liste des produits" Then
        If Cells(20, 7).Value <> Cells(20, 11) Then
        Range(Cells(20, 6), Cells(20, 7)).Font.ColorIndex = 3
        Range(Cells(20, 10), Cells(20, 11)).Font.ColorIndex = 3
        End If
 
        If Cells(20, 7).Value <> Cells(20, 17) Then
        Range(Cells(20, 6), Cells(20, 7)).Font.ColorIndex = 3
        Range(Cells(20, 16), Cells(20, 17)).Font.ColorIndex = 3
        End If
 
        If Cells(20, 11).Value <> Cells(20, 17) Then
        Range(Cells(20, 10), Cells(20, 11)).Font.ColorIndex = 3
        Range(Cells(20, 16), Cells(20, 17)).Font.ColorIndex = 3
        End If
    End If
Next WS
 
 
End Sub
Ce que je voudrais c'et que lorsqu'on modifie une valeur d'une cellule exemple "G20" qui était égal à 20 devient 21 elle sera alors egal à "k20" et automatiquement elle repasse du rouge à la couleur automatique.

Et je ne comprend pas non plus c'est que la macro ne s'éxécute que sur une feuille alors que normalement si j'ai bien compris la chose, lorsque l'on met ""For et "next ws", alors la macro s'execute sur la feuille suivante non?
Il n'y a que la 1ere feuille sur laquelle la macro ne doit pas s'éxécuter.

pourriez vous m'éclairer sur ce problème?

Merci

Yoann