Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub 'si sélections multiples
Dim a, b, i As Variant
a = Array("D", "E") 'à adapter
b = Array(20, 5) 'à adapter
i = Application.Match(Target, a, 0)
If IsNumeric(i) Then Target.Resize(, b(i - 1)) = a(i - 1)
End Sub