Bonjour,

Dans un classeur Excel, (Excel 2003 (11.8237.8221) SP3

Sur une sheet Excel (pour l’exemple, Colonne E à J, ligne 18 à 37) j’ai une liste de choix qui est (0, D, I, R, NA, NS) pour certaines cellules.
Le choix est défini par 5 critères.
Toutes les cases de la liste de choix sont grisé interior.Color (Grise)
La valeur initiale est 0 plus les Choix D I R NA NS
Définie par données / validation / liste / Source : =Delivrable_status
« Ignorer si vide » activée
« Liste déroulante dans la cellule » activée
« Appliquer ces modification aux cellules de paramètres identiques » désactivée

Dans le cas d’une saisie (vide) "" j’utilise le code ci-dessous pour remettre la valeur initiale (zéro).

Avec certaine manip à la souris ou clavier ( Supp, <- , Enter, ….) J’ai le code ci-dessous qui boucle avec lancement du débugger via la touche Echap.

Avez-vous une autre solution pour interdire dans ces cellules un choix différent de (0, D, I, R, NA, NS) ?


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
 
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
   Dim j As Long
    If Application.Intersect(Target, Range("E18:J37")) Is Nothing Then
    Else
        For i = 18 To 37
        For j = 5 To 10
        If ActiveSheet.Cells(i, j).Interior.Color = 12632256 And ActiveSheet.Cells(i, j) = "" Then
        ActiveCell = 0
        End If
        Next j
        Next i
    End If
End Sub