Sub zzzz()
Dim col%, deb#, fin#, L%, i%, j%
Dim rngfilt As Range, rng As Range
col = Asc(Range("H4")) - 64
deb = Range("G3")
fin = Range("G4")
L = 8
Range("C8:G26").ClearContents
With Feuil1
.AutoFilterMode = False
.Range("A1").AutoFilter Field:=col, Criteria1:=">=" & deb, Operator:=xlAnd, Criteria2:="<=" & fin
Set rngfilt = .AutoFilter.Range
With rngfilt
On Error Resume Next
Set rng = .Offset(1).Resize(.Rows.Count - 1, 13).SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not rng Is Nothing Then
With rng
For i = 1 To rng.Areas.Count
For j = 1 To .Areas(i).Rows.Count
Cells(L, 3) = .Areas(i).Cells(j, 7)
Cells(L, 4) = .Areas(i).Cells(j, col)
Cells(L, 5) = .Areas(i).Cells(j, 11)
Cells(L, 6) = .Areas(i).Cells(j, 12)
Cells(L, 7) = .Areas(i).Cells(j, 13)
L = L + 1
Next
Next
End With
Else
MsgBox "rien à afficher"
End If
End With
.AutoFilterMode = False
End With
End Sub