[VBA] Changement couleur cellule quand modifiée

Résolu/Fermé
GPT - 10 juin 2013 à 08:44
 GPT - 10 juin 2013 à 09:27
Bonjour,

je souhaiterais que lorsqu'on modifie le contenu de certaines cellules dans mon classeur, sous certaines conditions, la couleur de fond de la cellule ainsi que la couleur du texte changent.

J'ai donc ajouté ce code-ci à la feuille :

Private Sub Worksheet_Change(ByVal Target As Range)

If Range("AZ68").Value = 1 Then

If Not Application.Intersect(Target, Range("D4:L12")) Is Nothing Then

If Target.Font.ColorIndex = 10 Or Target.Font.ColorIndex = 3 Then

Target.Font.ColorIndex = 5
Target.Interior.ColorIndex = xlNone

End If

End If

End If

End Sub

Ce code fonctionne bien, à ceci près que la modification est effectuée non seulement lorsque je modifie le contenu d'une cellule, mais aussi lorsque d'autres de mes macros les modifient, ce qui constitue mon problème.

Comment faire pour que seule une modification manuelle par l'utilisateur du contenu des cases entraîne la modification du fond et de la couleur ?

Merci d'avance
A voir également:

2 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 10/06/2013 à 09:10
Bonjour,

Vous devez gerer ceci dans les module de code qui ecrivent dans vos cellules D4:L12:
Application.EnableEvents = False en debut du code

et

Application.EnableEvents = True en fin de code

prevoir un bout de code:

Sub test1()
Application.EnableEvents = True
End Sub

pour reactiver les evenements excel en cas de plantage ou sortie par arret

Bonne suite
0
Ca marche, merci beaucoup.
0