Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D8")) Is Nothing Then Target = UCase(Target)
If Not Intersect(Target, Range("D21")) Is Nothing Then Target = UCase(Target)
If Not Intersect(Target, Range("D22")) Is Nothing Then Target = UCase(Target)
If Target.Address = "$D$13" Then
nb = Range("D13").Value
Sheets("ABC").Activate
ActiveSheet.Range("D1").Select
Col = 5
For i = Col To nb + 3
If Sheets("ABC").Cells(1, i) = "" Then
Sheets("ABC").Columns(4).Copy
Sheets("ABC").Columns(i).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
For j = 1 To 4
Sheets("ABC").Cells(j, i).Value = Sheets("ABC").Cells(j, 4).Value
Next j
End If
Next i
ActiveSheet.Range("D1").Select
Sheets("Feuil1").Activate
ActiveSheet.Range("D13").Select
End If
End Sub