Sub Récupérer()
Dim tablo, i&, j&, n&, resu$(), ncol%, nn&
tablo = [T6].CurrentRegion.Resize(, 7) 'matrice, plus rapide, à adapter
For i = 2 To UBound(tablo)
If tablo(i, 6) = "Non placé" Then
For j = 1 To Val(tablo(i, 7))
n = n + 1
ReDim Preserve resu(1 To n)
resu(n) = tablo(i, 1)
Next j
End If
Next i
'---restitution---
With [AC23:AI37] 'à adapter
tablo = .Value 'matrice, plus rapide
ncol = UBound(tablo, 2)
For i = 1 To UBound(tablo)
For j = 1 To ncol
nn = nn + 1
If nn > n Then tablo(i, j) = "" Else tablo(i, j) = resu(nn)
Next j, i
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData 'si la feuille est filtrée
.Value = tablo
End With
If nn < n Then MsgBox "Le tableau de restitution n'est pas assez grand..."
End Sub