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
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.