source : https://gist.github.com/tdalon/2817ced08d066cee0b0a821ec0b897b0
Sub DeleteEmptyParagraphs()
' Déclaration de la variable pour parcourir les paragraphes
Dim oPara As Word.Paragraph
' Parcours de chaque paragraphe dans le document actif
For Each oPara In ActiveDocument.Paragraphs
' Vérification si le paragraphe est vide (longueur égale à 1)
If Len(oPara.Range) = 1 Then
' Suppression du paragraphe s'il est vide
oPara.Range.Delete
End If
Next oPara
End Sub
Sub DeleteEmptyParagraphsWithSpaces()
' Déclaration des variables
Dim oPara As Word.Paragraph
Dim var
Dim SpaceCounter As Long
Dim oChar As Word.Characters
' Parcours de chaque paragraphe dans le document actif
For Each oPara In ActiveDocument.Paragraphs
' Vérification si le paragraphe est vide ou contient uniquement des espaces
If Len(oPara.Range) = 1 Then
' Suppression du paragraphe s'il est vide
oPara.Range.Delete
Else
' Réinitialisation du compteur d'espaces
SpaceCounter = 0
' Récupération des caractères du paragraphe
Set oChar = oPara.Range.Characters
' Parcours de chaque caractère du paragraphe
For var = 1 To oChar.Count
' Vérification si le caractère est un espace (code ASCII 32)
If Asc(oChar(var)) = 32 Then
' Incrémentation du compteur d'espaces
SpaceCounter = SpaceCounter + 1
End If
Next var
' Vérification si le paragraphe contient uniquement des espaces
If SpaceCounter + 1 = Len(oPara.Range) Then
' Suppression du paragraphe s'il contient uniquement des espaces
oPara.Range.Delete
End If
End If
Next oPara
End Sub
