Microsoft

Supprimer tous les paragraphes vides dans un texte word

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *