Robert a un dossier qui contient de nombreux documents. Il aimerait trouver un moyen d’extraire tous les mots mal orthographiés des documents et de les placer dans un nouveau document.

Heureusement, Word rend cela relativement facile grâce à l’utilisation d’une macro.

En effet, les fautes d’orthographe sont accessibles dans VBA en examinant la collection .SpellingError. Chaque élément de cette collection spéciale représente une faute d’orthographe dans le document.

Dans cet esprit, la macro suivante montre comment rassembler toutes les fautes d’orthographe de chaque document dans un dossier.

Sub CheckFolderForSpellErrors()

'Copy all misspelled words in each document     'from one directory to a new document.

'Also lists all documents that have no spelling errors

Dim cWords As New Collection     Dim cDocs As New Collection     Dim vItem As Variant     Dim rng As Range     Dim docSourse As Document     Dim docNew As Document     Dim vDirectory As String     Dim vFile As String     Dim bNoSpellingErrors As Boolean

Application.ScreenUpdating = False

vDirectory = "C:\MyFolder\"           ' Path to check

' Find first file to check     vFile = Dir(vDirectory & ".doc")



Do While vFile <> ""

Documents.Open FileName:=vDirectory & vFile         Set docSource = ActiveDocument

If docSource.SpellingErrors.Count > 0 Then             cWords.Add Item:="Spelling errors found in " & vFile & vbCrLf

' add each word to the collection             For Each rng In docSource.SpellingErrors                 cWords.Add Item:=rng.Text & vbCrLf             Next         Else ' doc has no spelling errors             bNoSpellingErrors = True             cDocs.Add vFile & vbCrLf         End If

ActiveDocument.Close (wdDoNotSaveChanges)

vFile = Dir     Loop

Set docNew = Documents.Add

For Each vItem In cWords         Selection.TypeText vItem     Next

If bNoSpellingErrors Then         Selection.TypeText "These documents have no spelling errors." & vbCrLf

For Each vItem In cDocs             Selection.TypeText vItem & vbCrLf         Next     End If

Application.ScreenUpdating = True End Sub

La macro utilise la commande Dir pour rechercher tous les fichiers dans le dossier spécifié (variable vDirectory) qui se terminent par une variante de «doc». Chacun de ces fichiers est chargé dans Word, à son tour. Lors du chargement, la collection .SpellingErrors est vérifiée pour voir si elle contient des erreurs. Si tel est le cas, le texte des mots mal orthographiés est ajouté à la collection cWords. Si ce n’est pas le cas, le nom du fichier est ajouté à la collection cDocs.

Il n’y a rien de spécial dans les collections cWords ou cDocs; ils ont été créés simplement pour contenir les fautes d’orthographe et les noms de fichiers découverts lors de l’examen des fichiers. La macro aurait tout aussi bien pu utiliser des tableaux de variables à la place des collections.

Il y a quelques points à garder à l’esprit lors de l’exécution de cette macro.

Tout d’abord, son exécution peut prendre un certain temps, en fonction du nombre de documents dans le dossier et de la longueur de chacun de ces documents. Lorsque j’ai exécuté la macro, je l’ai fait sur un dossier qui contenait 9 documents d’une moyenne d’environ 97 pages par document. L’exécution de la macro a pris un peu moins de 8 minutes et pendant son exécution, je ne pouvais rien faire d’autre dans Word. (En fait, vous pourriez facilement vous demander si votre système est « bloqué ».)

Une autre chose à garder à l’esprit est que la sortie peut être assez longue et sembler plutôt redondante. En effet, les mots mal orthographiés peuvent apparaître plusieurs fois dans la collection .SpellingErrors. Par exemple, disons que vous avez un document qui contient le mot «Cftype», qui est manifestement signalé comme mal orthographié. Si le mot est utilisé 30 fois dans le document, il sera signalé 30 fois et se retrouvera donc 30 fois dans la liste des fautes d’orthographe. Bien que cela dépasse le cadre de cette astuce, vous pouvez modifier la macro pour vérifier si un mot a déjà été signalé comme mal orthographié, puis l’ajouter uniquement s’il s’agit d’une faute d’orthographe unique.

_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 (13488) s’applique à Microsoft Word 2007, 2010, 2013 et 2016.