Option Explicit
Private Sub Form_Load()
Dim ExlObj As Object
' ouvre excel
Call OpenXlsDocument(ExlObj, "C:\test.xls")
' supprime les lignes vides
Call DeleteEmptyLines(ExlObj)
' focus pour avoir le msgbox devant excel
Me.Show: Me.SetFocus: Me.Hide
If MsgBox("Voulez-vous quitter EXCEL sans enregistrer?", vbYesNo, "Fermeture VB") = vbYes Then ExlObj.Application.Quit
Set ExlObj = Nothing
Unload Me
End Sub
'
'
Private Sub OpenXlsDocument(XLS As Object, sPath As String)
' l'objet est de type feuille excel (pas de référence librairie à excel)
Set XLS = CreateObject("Excel.Application")
XLS.Visible = True
XLS.Workbooks.Open FileName:=sPath, Editable:=True
'supprime l'affichage des messages d'erreurs ou de confirmation de suppression, ...
XLS.DisplayAlerts = False
End Sub
'
'
Private Sub DeleteEmptyLines(XLS As Object)
Dim LastLine As Long, i As Long
LastLine = XLS.ActiveSheet.UsedRange.Row - 1
LastLine = LastLine + XLS.ActiveSheet.UsedRange.Rows.Count
For i = LastLine To 1 Step -1
If XLS.Application.WorkSheetFunction.CountA(XLS.Rows(i)) = 0 Then XLS.Rows(i).Delete
Next i
End Sub