Private Sub Worksheet_Activate()
Dim f As Object, d As Object, t, i&
Set f = Sheets(Array("Bun", "Modulable", "Plissé", "Bandeau")) 'feuilles sources
Set d = CreateObject("Scripting.Dictionary")
For Each f In f
t = f.[A3].CurrentRegion.Resize(, 5).Value2 '.Value2 nécessaire à cause du format monétaire
For i = 2 To UBound(t)
d(t(i, 1)) = t(i, 5)
Next i, f
With Sheets("Liste").[A1]
.CurrentRegion.ClearContents 'RAZ
If d.Count Then
.Resize(d.Count) = Application.Transpose(d.keys)
.Cells(1, 2).Resize(d.Count) = Application.Transpose(d.items)
End If
.CurrentRegion.Name = "Liste" 'plage nommée
End With
End Sub