[VBA] Changement couleur cellule quand modifiée

Résolu
GPT -  
 GPT -
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

2 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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