Private Sub Worksheet_Change(ByVal Target As Range)
Dim tablo, i&
Application.ScreenUpdating = False
Application.EnableEvents = False 'désactive les évènements
If FilterMode Then ShowAllData 'si la feuille est filtré
[B:C].ClearContents 'RAZ
With [A1].CurrentRegion.Resize(, 3)
tablo = .Formula
For i = 1 To Application.RoundUp(UBound(tablo) / 2, 0)
tablo(i, 2) = "=A" & 1 + 2 * (i - 1)
tablo(i, 3) = "=A" & 2 * i
Next
.Formula = tablo
End With
Application.EnableEvents = True 'réactive les évènements
End Sub