Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim a, tablo(), w As Worksheet, nom$, t, n As Byte, lig&
a = Array("Feuil10", "Feuil11", "Feuil12") 'CodeNames à adapter
If IsError(Application.Match(Sh.CodeName, a, 0)) Then Exit Sub
ReDim tablo(1 To 12 * (Worksheets.Count - UBound(a) - 1), 1 To 6)
With Feuil10 'CodeName à adapter éventuellemnt
For Each w In Worksheets
If IsError(Application.Match(w.CodeName, a, 0)) Then
nom = w.[A1]
t = Application.Transpose(w.[B1:B73])
For n = 1 To 12
lig = lig + 1
tablo(lig, 1) = nom
tablo(lig, 2) = Application.Proper(Format("1/" & n, "mmmm"))
tablo(lig, 3) = t(6 * n - 2)
tablo(lig, 4) = t(6 * n - 1)
tablo(lig, 5) = t(6 * n)
tablo(lig, 6) = t(6 * n + 1)
Next
End If
Next
.[A2].Resize(lig, 6) = tablo
.[A2].Resize(lig, 6).Replace 0, "", xlWhole 'facultatif, supprime les 0
.Range("A" & lig + 2 & ":F" & .Rows.Count).ClearContents
End With
On Error Resume Next 's'il n'y a pas de TCD dans la feuille
Sh.PivotTables(1).PivotCache.Refresh
End Sub