Sub Combien_Lignes_Colonnes_Feuille_Supprime_Lignes_Vides_Basses()
'MJ
t1 = Timer
'MsgBox ActiveSheet.FilterMode
'MsgBox ActiveSheet.AutoFilterMode
If ActiveSheet.AutoFilterMode And ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
Cells.Select
Cells.EntireRow.AutoFit
Dim DerLigRempli(16384) 'As Long
derl = [A1].SpecialCells(xlLastCell).Row
DerC = [A1].SpecialCells(xlLastCell).Column
For i = 1 To derl
If Application.WorksheetFunction.CountA(Range(Cells(i, 1), Cells(i, Columns.Count))) > 0 Then NbligRempli = NbligRempli + 1
Next
For j = 1 To DerC
If Application.WorksheetFunction.CountA(Range(Cells(1, j), Cells(Rows.Count, j))) > 0 Then NbColRempli = NbColRempli + 1
Next
'Suppresion des lignes vides après la dernière ligne
DerligRenseignee = Cells(Rows.Count, 1).End(xlUp).Row
For k = 1 To DerC
DerLigRempli(k) = Cells(Rows.Count, k).End(xlUp).Row
If DerLigRempli(k) > DerligRenseignee Then DerligRenseignee = DerLigRempli(k)
Next
'A décommenter en cas de besoin
'MsgBox DerligRenseignee
'Supprime les lignes vides sous les denières données
Rows(DerligRenseignee + 1 & ":" & Rows.Count).Delete
'Sauvegarde le fichier actif
'ActiveWorkbook.Save
t2 = Timer - t1
MsgBox DerC & " colonnes" & " dont " & NbColRempli & " Colonnes remplies." & Chr(10) & derl & " lignes " & " dont " & NbligRempli & " lignes remplies." & Chr(10) & "Durée de traitement: " & Format(t2, "0.0") & "secondes" & Chr(10) & "La dernière ligne renseignée est la ligne: " & DerligRenseignee
End Sub