Dim DL%, DC%, i%, L%, C%
Application.ScreenUpdating = False
With Sheets("Moyennes")
DL = Range("C65500").End(xlUp).Row ' Dernière ligne
DC = Cells(1, Columns.Count).End(xlToLeft).Column ' Dernière colonne
' Copie liste nom en feuil2
.Cells.Clear
Range(Cells(1, 1), Cells(1, DC)).Copy
.[A1].PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
.Range("$A$1:$A$" & DC).RemoveDuplicates Columns:=1, Header:=xlNo
' Copie liste des lignes
For i = 4 To DL
.Cells(1, i - 2) = Cells(i, "C")
Next i
' Calcul des moyennes par formules intégrées dans feuille
DL = .Range("A65500").End(xlUp).Row ' Dernière ligne
DC = .Cells(1, Columns.Count).End(xlToLeft).Column ' Dernière colonne
For L = 2 To DL
For C = 2 To DC
.Cells(L, C).FormulaLocal = "=SIERREUR(ARRONDI(MOYENNE.SI.ENS(Feuil1!$F" & C + 2 & ":$ZZ" & C + 2 & ";Feuil1!$F$1:$ZZ$1;$A" & L & ");2);"""")"
Next C
Next L
' Mise en forme
With .Range(.Cells(1, 1), .Cells(DL, DC))
.HorizontalAlignment = xlCenter
.Borders.LineStyle = xlThin
End With
.Select
.Range("A1").Select
End With
End Sub