[COLOR="DarkSlateGray"][B]Sub BDD()
Dim feColl, sDat(), f%, oDat, i&, j&, n&
Dim pCol%, pLig$
[COLOR="Sienna"]'=================================================================
'PARAMETRES :[/COLOR]
pCol = 57 [COLOR="Sienna"]'Nombre de colonnes à traiter[/COLOR]
pLig = 6 [COLOR="Sienna"]'Première ligne utilisable dans la feuille "BDD"[/COLOR]
feColl = Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n") [COLOR="Sienna"]'Liste des feuilles de données
'=================================================================[/COLOR]
ReDim sDat(1 To pCol, 1 To 1)
For f = 0 To UBound(feColl)
With Sheets(feColl(f))
oDat = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, pCol)).Value
End With
For i = 1 To UBound(oDat, 1)
If Left$(oDat(i, 1), 1) = "D" Then
n = n + 1
ReDim Preserve sDat(1 To pCol, 1 To n)
For j = 1 To pCol
sDat(j, n) = oDat(i, j)
Next j
End If
Next i
Next f
sDat = WorksheetFunction.Transpose(sDat)
With Sheets("BDD")
.Cells(pLig, 1) = " "
.Range(.Cells(pLig, 1), .Cells(.Rows.Count, 1).End(xlUp).Offset(0, pCol)).ClearContents
.Cells(pLig, 1).Resize(UBound(sDat, 1), pCol) = sDat
End With
End Sub[/B][/COLOR]