Bonsoir,
En effet, si le filtre comporte une seule ligne, on récupère la formule et donc une erreur pour les colonnes A et B.
Si le résultat du filtre est une plage, c'est okay.
Pour quelle raison, je ne sais pas
Un copier/Coller valeurs résout le problème.
If Application.Subtotal(103, Columns("C")) > 0 Then
Range("C2:C" & NbLg).SpecialCells(xlCellTypeVisible).Copy
.Cells(2, I).PasteSpecial Paste:=xlPasteValues
End If