Private Sub Worksheet_Activate()
Dim dest1 As Range, dest2 As Range, h1&, h2&
Dim t, ncol%, rest1(), rest2(), i&, n1&, j%, n2&
Set dest1 = [3:20] 'à adapter
Set dest2 = [25:40] 'à adapter
h1 = dest1.Rows.Count
h2 = dest2.Rows.Count
t = Feuil1.UsedRange 'Feuil1 => CodeName de la feuille source
ncol = UBound(t, 2)
ReDim rest1(1 To h1, 1 To ncol)
ReDim rest2(1 To h2, 1 To ncol)
For i = 1 To UBound(t)
If t(i, 1) <> "" Then
If n1 < h1 Then
n1 = n1 + 1
For j = 1 To ncol
rest1(n1, j) = t(i, j)
Next j
ElseIf n2 < h2 Then
n2 = n2 + 1
For j = 1 To ncol
rest2(n2, j) = t(i, j)
Next j
End If
End If
Next i
Application.ScreenUpdating = False
Union(dest1, dest2) = Empty 'RAZ
If n1 Then dest1.Resize(n1, ncol) = rest1
If n2 Then dest2.Resize(n2, ncol) = rest2
End Sub