Bonjour
Une proposition VBA, sans aucune limite de taille des Base 1 et 2
Public tabBase()
Public tabResult()
Public wsBase As Object
Public wsResult As Object
Sub Copier()
Dim cptOnglet
Dim cptDonnees, colDonnees
Dim cptResulte
Dim ligFin
cptResulte = 0
Set wsResult = Worksheets("Resultat")
For cptOnglet = 1 To 2
Set wsBase = Worksheets("Base" & cptOnglet)
With wsBase
tabBase = Range(.Cells(2, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, 6))
End With
For cptDonnees = 1 To UBound(tabBase, 1)
If tabBase(cptDonnees, 6) > 0 Then
cptResulte = cptResulte + 1
ReDim Preserve tabResult(1 To UBound(tabBase, 2), 1 To cptResulte)
For colDonnees = 1 To UBound(tabBase, 2)
tabResult(colDonnees, cptResulte) = tabBase(cptDonnees, colDonnees)
Next
End If
Next
Set wsBase = Nothing
Next
With wsResult
ligFin = .Cells(Rows.Count, 1).End(xlUp).Row + 1
.Cells(ligFin, 1).Resize(UBound(tabResult, 1), UBound(tabResult, 2)) = WorksheetFunction.Transpose(tabResult)
End With
Set wsResult = Nothing
End Sub