Private Sub Worksheet_Activate()
Dim F As Worksheet, colsource, celdeb As Range, celfin As Range, dest As Range, titres, h&, col%
'---données sources---
Set F = Sheets("ExportCEGID")
Set celdeb = F.[A15]
Set celfin = F.Columns(1).Find("Total", , xlValues, xlPart)
colsource = Array(1, 4, 6, 8, 11, 13, 15, 18) 'colonnes à copier
'---données destination---
Set dest = [B8]
titres = Array("Numéro de compte", "Fournisseur", "Solde du compte", "Solde non échu", "De 1 à 30 Jrs", "31-45 Jrs", "46-60 Jrs", "+61 Jrs", _
"Total échu", "%", "Total non échu", "%", "Contrôle solde du compte")
'---copier-coller des valeurs---
Application.ScreenUpdating = False
dest.CurrentRegion.ClearContents 'RAZ
dest.Resize(, UBound(titres) + 1) = titres
h = celfin.Row - celdeb.Row
For col = 0 To UBound(colsource)
dest(2, col + 1).Resize(h) = celdeb.Resize(h).Offset(, colsource(col) - 1).Value
Next col
'---formules---
dest(2, UBound(colsource) + 2).Resize(h) = "=SUM(RC[-4]:RC[-1])"
dest(2, UBound(colsource) + 3).Resize(h) = "=RC[-1]/RC[-7]"
dest(2, UBound(colsource) + 4).Resize(h) = "=RC[-7]"
dest(2, UBound(colsource) + 5).Resize(h) = "=RC[-1]/RC[-9]"
dest(2, UBound(colsource) + 6).Resize(h) = "=RC[-4]+RC[-2]"
End Sub