Re,
Il y a une procédure VBA :
Celle-ci met tes données sous forme de tableau (normalisé ou structuré) pour permettre l'utilisation d'un tableau croisé dynamique (TCD).
La procédure est lancée à partie du bouton Synthèse.
J'avais omis la mise à jour du TCD. Le nouveau fichier l'intègre.
Pour visualiser la procédure VBA : ALT F11 puis voir module modMain.
A te relire.
Cdlt.
Public Sub Update_data()
Dim lo As ListObject
Dim tbl, Arr()
Dim rCell As Range
Dim I As Long, J As Long, k As Long
Set lo = Worksheets("Table").ListObjects(1)
tbl = Worksheets("Base").Cells(3, 3).CurrentRegion
For I = 2 To UBound(tbl) - 1
For J = 3 To UBound(tbl, 2)
If tbl(I, J) > 0 Then
ReDim Preserve Arr(3, k + 1)
Arr(0, k) = tbl(I, 1)
Arr(1, k) = tbl(1, J)
Arr(2, k) = tbl(I, J)
k = k + 1
End If
Next J
Next I
With lo
If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
Set rCell = .InsertRowRange.Cells(1)
End With
rCell.Resize(UBound(Arr, 2), 3).Value = Application.Transpose(Arr)
Worksheets("Base").PivotTables(1).PivotCache.Refresh
End Sub