À moins que vous n’écriviez des documents très courts, le nettoyage peut être l’une des parties les plus difficiles de l’écriture. La macro suivante vérifie votre document, paragraphe par paragraphe, pour déterminer si vous avez un nombre équilibré de parenthèses. La macro compte le nombre de parenthèses gauches dans chaque paragraphe de votre document et s’assure que vous avez le même nombre de parenthèses droites. Si vous ne le faites pas, la macro insère un paragraphe avant le paragraphe déséquilibré indiquant l’erreur.

Sub CheckParens()

Dim WorkPara As String     Dim CheckP() As Boolean     Dim NumPara As Integer, J As Integer     Dim LeftParens As Integer, RightParens As Integer     Dim MsgText As String     Dim OpenChar As String     Dim CloseChar As String

OpenChar = "("

CloseChar = ")"

MsgText = "Unbalanced parens in the next paragraph"



NumPara = ActiveDocument.Paragraphs.Count     ReDim CheckP(NumPara)



For J = 1 To NumPara         CheckP(J) = False         WorkPara = ActiveDocument.Paragraphs(J).Range.Text         If Len(WorkPara) <> 0 Then             LeftParens = CountChars(WorkPara, OpenChar)

RightParens = CountChars(WorkPara, CloseChar)

If LeftParens <> RightParens Then CheckP(J) = True         End If     Next J

For J = NumPara To 1 Step -1         If CheckP(J) Then             Selection.HomeKey Unit:=wdStory, Extend:=wdMove             If J > 1 Then                 Selection.MoveDown Unit:=wdParagraph, _                   Count:=(J - 1), Extend:=wdMove             End If             Selection.InsertParagraphBefore             Selection.MoveLeft Unit:=wdCharacter, Count:=1             Selection.Style = "Normal"

Selection.TypeText Text:=MsgText         End If     Next J End Sub

Private Function CountChars(A As String, C As String) As Integer     Dim Count As Integer     Dim Found As Integer

Count = 0     Found = InStr(A, C)

While Found <> 0         Count = Count + 1         Found = InStr(Found + 1, A, C)

Wend     CountChars = Count End Function

Notez qu’il existe en fait deux macros ici. La fonction CountChars est appelée à partir de la macro principale CheckParens. C’est cette dernière macro (CheckParens) qui est celle que vous devez réellement invoquer sur votre document. Lorsque la macro est terminée, vous pouvez effectuer une recherche dans le document, en recherchant le libellé «Parens déséquilibrés» pour voir où vous pouvez rencontrer des problèmes.

Notez également que la façon dont cette macro est écrite, vous pouvez facilement la modifier pour rechercher d’autres caractères « appariés ». Tout ce que vous avez à faire est de modifier ce qui est affecté aux variables OpenChar, CloseChar et MsgText. Par exemple, si vous souhaitez vérifier les parenthèses sans correspondance, vous pouvez modifier ces variables de cette manière:

OpenChar = "["

CloseChar = "]"

MsgText = "Unbalanced brackets in the next paragraph"

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites WordTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / wordribbon-WordTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

WordTips est votre source pour une formation Microsoft Word rentable.

(Microsoft Word est le logiciel de traitement de texte le plus populaire au monde.) Cette astuce (1018) s’applique à Microsoft Word 2007, 2010, 2013 et 2016. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu de Word ici:

link: / word-Checking_for_Matching_Parentheses [Vérification des parenthèses correspondantes].