Bonjour,
Je viens de tester le code qui suit ... Il me semble que le résultat correspond (mais tu vérifieras!) SAUF qu'il y a, dans certaines feuilles (OP10 et OP50 notamment) un autre type de tableau sous la série des tableaux à rassembler!? Il vaudrait mieux les déplacer, à mon avis (ce serait plus simple, en tout cas!)
Dans un module standard, essayer ce qui suit:
Sub compiler()
Dim tablo()
For Each sh In ThisWorkbook.Sheets
If Left(sh.Name, 2) = "OP" Then
For Each c In sh.[C16:C100].SpecialCells(xlCellTypeConstants)
ReDim Preserve tablo(5, x)
tablo(0, x) = sh.[B10]
tablo(1, x) = sh.Cells(c.Row, 2).MergeArea.Cells(1, 1)
tablo(2, x) = sh.Cells(c.Row, 4)
tablo(3, x) = sh.Cells(c.Row, 5)
tablo(4, x) = sh.Cells(c.Row, 7)
tablo(5, x) = sh.Cells(c.Row, 8)
x = x + 1
Next c
End If
Next sh
Feuil1.Cells(2, 1).Resize(x, 6) = Application.Transpose(tablo)
End Sub