Bonjour SOTIN,
Un essai ...
En redimensionnant le "Tablo", il faut mettre 6 pour avoir 7 colonnes
Aussi, à la fin de la macro, je fais insérer des lignes au moment de coller "Tablo" dans le tableau "tb_export" de la feuille afin qu'il soit adapté au nombre de lignes
à insérer.
Sub Converti_Export() 'Scinde le texte et les chiffres dans 2 colonnes différentes
Dim dLig As Long, lig As Long, Ind As Long
Dim Tablo() As Variant
Dim tmp
Dim i%, j%
Dim tblData As ListObject
Set tblData = Worksheets("Listes").ListObjects("tb_export")
Ind = -1
With ThisWorkbook.Sheets("export")
dLig = .Range("A" & Rows.Count).End(xlUp).Row ' Regarde si du texte est présent
If dLig = 1 Then MsgBox "Aucune donnée d'export": Exit Sub 'Si pas de texte alors message
For lig = 1 To dLig Step 2
Ind = Ind + 1 'Reviens à la ligne à chaque nouveau caisson
ReDim Preserve Tablo(6, Ind) ' >>>> 6 au lieu de 1 ... 'Redimentionne le tableau suivant le nombre de caisson
Tablo(0, Ind) = .Range("A" & lig).Value 'Colle les noms de caisson
Tablo(1, Ind) = .Range("A" & lig + 1).Value 'Colle les dimensions de caisson
Tablo(6, Ind) = .Range("B" & lig + 1).Value 'Colle le nombre de caisson >>>>> dans la bonne colonne
Next lig
Tablo = Application.Transpose(Tablo)
ReDim Preserve Tablo(1 To UBound(Tablo), 1 To 7)
For i = 1 To UBound(Tablo)
Tablo(i, 2) = Replace(Tablo(i, 2), " ", "")
Tablo(i, 2) = Replace(Tablo(i, 2), ".", ",")
tmp = Split(Tablo(i, 2), "x")
For j = 0 To UBound(tmp)
Tablo(i, j + 2) = CDbl(tmp(j))
Next j
Next i
If Sheets("Listes").ListObjects("tb_export").ListRows.Count > 0 Then Range("tb_export").Delete
tblData.ListRows.Add 'on ajoute une ligne
tblData.Resize tblData.Range.Resize(tblData.Range.Rows.Count + UBound(Tablo) - 1) ' ajoute des lignes au tb_export
Range("tb_export").Resize(UBound(Tablo), UBound(Tablo, 2)) = Tablo
End With
End Sub
Note : j'ai corrigé un peu mon texte depuis que tu as lu ...
ric