Private Sub Worksheet_Change(ByVal Target As Range)
'Test pour savoir si la cellule qui a déclenché l'événement est bien dans la zone bleue
If Not Intersect(Range("TEST_ZONE_BLEUE"), Target) Is Nothing And Target.Count = 1 Then
'La variable AuMoinsUneCelluleGriseNonRemplie servira à stocker le fait qu'on a trouvé une cellule grise vide
AuMoinsUneCelluleGriseNonRemplie = False
'La variable CellulesNonRemplies servira à stocker la liste des cellules vides
CellulesNonRemplies = ""
'On va balayer chaque cellule de TEST_ZONE_GRISE
For Each c In Range("TEST_ZONE_GRISE")
'et si l'une d'elles est vide, on bascule AuMoinsUneCelluleGriseNonRemplie et on note l'adresse de la cellule dans CellulesNonRemplies
If c.Value = "" Then
AuMoinsUneCelluleGriseNonRemplie = True
If CellulesNonRemplies <> "" Then CellulesNonRemplies = CellulesNonRemplies & " / "
CellulesNonRemplies = CellulesNonRemplies & c.Address
End If
Next c
'Si une des cellules de la zone grise est vide, on affiche le message prévu
If AuMoinsUneCelluleGriseNonRemplie Then
réponse = MsgBox("Attention saisie imcomplète voir cellule(s) : " & CellulesNonRemplies & Chr$(10), vbInformation, "ZONE GRISE NON REMPLIE")
Application.EnableEvents = False
Target.Value = Empty
Target.Select
Application.EnableEvents = True
End If
End If
End Sub