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é ^^)
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.
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
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
Partager