Sub SupLigneVide()
Dim dLig As Long, Lig As Long
Dim Ind As Integer, TabCel, sTmp As String
With ActiveSheet
' Dernière ligne remplie de la colonne
dLig = .Range("A" & Rows.Count).End(xlUp).Row
' Pour chaque ligne
For Lig = 1 To dLig
sTmp = ""
' Si la cellule n'est pas vide
If .Range("A" & Lig) <> "" Then
' Eclater le contenu dans un tableau en prenant en compte les retours à la ligne
TabCel = Split(.Range("A" & Lig), vbLf)
' Pour chaque indice du tableau
For Ind = 0 To UBound(TabCel)
' Vérifier qu'il contient bien une valeur
If TabCel(Ind) <> "" Then
sTmp = sTmp & TabCel(Ind) & vbLf
End If
Next Ind
' Retranscrire le résultat en supprimant le VbLf de fin
sTmp = Left(sTmp, Len(sTmp) - 1)
.Range("B" & Lig).Value = sTmp
End If
Next Lig
End With
End Sub