Supprimer les lignes vides d'un classeur

Contenu du snippet

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

Compatibilité : VB6

Disponible dans d'autres langages :

A voir également

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.