Bonsoir, Salut gmb ! [pas vu ta présence avant...]
Voilà une solution (j'ignore si elle est autre, etc.)
Sub TftTablo()
Dim Tbl(), k%, n%, i%, entt, mois
entt = Split("RESSOURCE MOIS CHARGE")
With ActiveSheet
With .Range("A1").CurrentRegion
n = .Rows.Count - 1: k = .Columns.Count - 1
End With
mois = .Cells(1, 2).Resize(, k).Value
ReDim Tbl(k)
For i = 1 To k + 1
Tbl(i - 1) = .Cells(2, i).Resize(n).Value
Next i
Application.ScreenUpdating = False
.Range("A1").CurrentRegion.Clear
With .Range("A1").Resize(, 3)
.Value = entt
.HorizontalAlignment = xlCenter
.Interior.Color = RGB(84, 130, 53)
With .Font
.Color = vbWhite: Bold = True
End With
End With
i = 2
For k = 1 To UBound(Tbl)
.Cells(i, 1).Resize(n).Value = Tbl(0)
.Cells(i, 2).Resize(n).Value = mois(1, k)
.Cells(i, 3).Resize(n).Value = Tbl(k)
i = i + n
Next k
k = UBound(Tbl)
With .Cells(2, 2).Resize(n * k, 2)
.HorizontalAlignment = xlCenter
.Columns(2).NumberFormat = "0.0"
End With
End With
End Sub
Bouton pour tester... le tft se fait sur place ! [mais il suffit de faire à une autre endroit si l'on veut..] J'ai laissé une copie du tableau d'origine en M1:... pour qu'on puisse rétablir et recommencer test si on souhaite.
Cordialement.