Notification si changement de valeur dans une cellule

Bonjour,

Vous m'aviez aidé à faire la macro suivante. Cependant, cette macro highlight absolument tout les changements fait sur cette feuille. Or, j'aimerai uniquement être notifier des changements en colonnes J-K-S-X-Y:

Cependant, je n'ai aucune idée de comment l'inscrire dans la macro. Voici la macro de base qui surligne tout les changements :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 48 Then 'AV
If Target = "" Then Target.EntireRow.Interior.ColorIndex = xlNone
Else
Application.EnableEvents = False
Target.Interior.Color = vbMagenta
Cells(Target.Row, 48).Interior.Color = vbMagenta
Cells(Target.Row, 48).Value = Date
Application.EnableEvents = True
End If
End Sub

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range) est le nom de la macro événementielle qui surveille les changements sur une feuille.
Target est un objet de type Range qui correspond aux cellules ou plage de cellules.
Column correspond à la valeur numérique de la colonne de l'objet Range auquel il se rapporte.
Target.Column indique le numéro de colonne où le changement à eu lieu.

Donc pour surveiller les colonne J(10), K(11), S(19) et Y(25) il suffit de tester le numéro de colonne avec ces chiffres :

If Target.Column = 10 Or Target.Column = 11 or Target.Column =19 or Target.Column =25 Then vous mettez la couleur dans Target

Mais ceci n'est pas beau, il vaut mieux utiliser l'instruction Intersect qui détermine si un objet range est en "intersection" avec un autre objet :

If Not Intersect(Target, Range("J,K,S,Y)) Is Nothing Then vous mettez la couleur dans Target

Que l'on peut traduire par intersect(....) is nothing = s'il n'y a pas d'intersection

mais avec le NOT devant on teste qu'il n'y ait pas de pas d'intersection, du coup c'est qu'il y en a une...

@ bientôt

LouReeD

je vous remercie pour votre aide précieuse !!!

Rechercher des sujets similaires à "notification changement valeur"