Bonjour, Salut à tous !
Si tu restes sur de VBA, il serait bon d'adopter des méthodes un peu plus performantes que ton code !
Sub NoPaste()
Dim jl, i&, n&, Tbl()
With Worksheets("JOURNAL")
n = .Cells(.Rows.Count, 1).End(xlUp).Row
jl = .Range("A4:C" & n).Value2
End With
n = 1
For i = 1 To UBound(jl)
If jl(i, 3) = "AG" Then
ReDim Preserve Tbl(2, n)
Tbl(0, n) = jl(i, 1): Tbl(1, n) = jl(i, 2): n = n + 1
End If
Next i
Tbl(0, 0) = "numero": Tbl(1, 0) = "date": Tbl(2, 0) = "flux"
With Worksheets("Feuil1")
.Range("A1").CurrentRegion.ClearContents
With .Range("A1").Resize(n, 3)
.Value = WorksheetFunction.Transpose(Tbl)
.Columns(2).NumberFormat = "dd/mm/yyyy"
.Columns(3).Offset(1).Resize(n - 1).Value = "AG"
End With
End With
End Sub
NB- Ceci peut encore certainement être amélioré... mais la méthode logique qui pourrait être la plus performante devrait être le filtre avancé, si la structure de tes données réelles concorde avec ton exemple.
Cordialement.