Re,
C'est beaucoup plus clair, alors le code que je t'avais proposé peux être adapté et t'éviter les filtres :
Sub Macro1()
Dim PL As Range 'déclare la variable PL (PLage)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim DC As Integer 'déclare la variable DC (Dernière Colonne)
Dim I As Integer 'déclare la variable I (Incrément)
Set PL = ActiveSheet.UsedRange 'définit la plage PL
DL = PL.SpecialCells(xlCellTypeLastCell).Row 'définit la dernière ligne DL
DC = PL.SpecialCells(xlCellTypeLastCell).Column 'définit la dernière colonne DC
For I = DL To 1 Step -1 'boucle inversée des lignes DL à 1 en remontant
'si la ligne est complètement vide, supprime la ligne
If Application.WorksheetFunction.CountBlank(Rows(I)) = Application.Columns.Count Then Rows(I).Delete
Next I 'prochaine ligne de la boucle
For I = DC To 1 Step -1 'boucle inversée des colonne DC à 1 en allant vers la gauche
'si la colonne est complètement vide, supprime la colonne
If Application.WorksheetFunction.CountBlank(Columns(I)) = Application.Rows.Count Then Columns(I).Delete
Next I 'prochaine colonne de la boucle
End Sub
À l'avenir, dis-toi bien qu'un petit fichier exemple évite de perdre autant de temps...