Bonjour,
Un début de réponse !
Cdlt.
Public Sub CreatePDF()
Dim wsData As Worksheet, wsPDF As Worksheet
Dim lastRow As Long, lRow As Long, n As Long, lCol As Long
Dim cn
Set wsData = Worksheets("Data")
Set wsPDF = Worksheets("Export PDF")
wsPDF.Cells(1).CurrentRegion.ClearContents
With wsData
lastRow = .Cells(.Rows.Count, 19).End(xlUp).Row
For lRow = 2 To lastRow
On Error Resume Next
cn = Application.Match(.Cells(lRow, 19).Value, .Rows("1:1"), 0)
If Not IsError(cn) Then
n = .Cells(.Rows.Count, cn).End(xlUp).Row
lCol = lCol + 1
wsPDF.Cells(1, lCol).Resize(n).Value = .Cells(1, cn).Resize(n).Value
End If
Next lRow
End With
'suite
'enregistrement wsPDF en pdf...
End Sub