Si vous travaillez beaucoup avec des documents d’autres personnes, vous devrez peut-être supprimer des zones de texte dans ces documents. S’il n’y a qu’une ou deux zones de texte dans le document, il n’est pas si difficile de les sélectionner et de les supprimer. Et s’il y a 30, 40 ou plus de zones de texte?

Les supprimer individuellement peut rapidement devenir fastidieux.

Une solution potentielle est une méthode de «force brute». Suivez ces étapes:

  1. Dans votre document, appuyez sur Ctrl + A. L’ensemble du document est sélectionné.

  2. Appuyez sur Ctrl + C. Le document est maintenant dans le Presse-papiers.

  3. Ouvrez un nouveau document vierge.

  4. Choisissez Collage spécial dans le menu Edition. Word affiche la boîte de dialogue Collage spécial. (Voir la figure 1.)

  5. Dans la liste des formats, choisissez Texte non formaté.

  6. Cliquez sur OK.

Le texte du document, moins les zones de texte, se trouve désormais dans le nouveau document. L’inconvénient évident de cette approche est que l’autre mise en forme du document original est également perdue et que vous devez reformater le document entier. (Je vous ai dit que c’était une méthode de force brute.)

Si vous souhaitez supprimer uniquement les zones de texte, la solution la plus rapide consiste à utiliser une macro. La macro suivante supprimera rapidement toutes les zones de texte de votre document:

Sub RemoveTextBox1()

Dim shp As Shape     For Each shp In ActiveDocument.Shapes         If shp.Type = msoTextBox Then shp.Delete     Next shp End Sub

Vous devez savoir que cette macro supprime toutes les zones de texte et leur contenu. En d’autres termes, si une zone de texte est utilisée pour placer du texte, le texte de cette zone de texte est supprimé avec la zone de texte elle-même.

Si vous préférez transférer le texte des zones de texte vers le document, avant de supprimer la zone de texte, une légère modification sur la macro ci-dessus fonctionnera:

Sub RemoveTextBox2()

Dim shp As Shape     Dim oRngAnchor As Range     Dim sString As String

For Each shp In ActiveDocument.Shapes         If shp.Type = msoTextBox Then             ' copy text to string, without last paragraph mark             sString = Left(shp.TextFrame.TextRange.Text, _               shp.TextFrame.TextRange.Characters.Count - 1)

If Len(sString) > 0 Then                 ' set the range to insert the text                 Set oRngAnchor = shp.Anchor.Paragraphs(1).Range                 ' insert the textbox text before the range object                 oRngAnchor.InsertBefore _                   "Textbox start << " & sString & " >> Textbox end"

End If             shp.delete         End If     Next shp End Sub

Lorsque cette macro est terminée, vous pouvez effectuer une recherche sur «Début de la zone de texte» et vous serez au début du texte qui se trouvait auparavant dans les zones de texte qui ont maintenant disparu de votre document. Vous pouvez ensuite modifier le texte afin qu’il apparaisse comme vous le souhaitez.

_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 (1690) s’applique à Microsoft Word 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban de Word (Word 2007 et plus tard) ici:

link: / wordribbon-Removing_All_Text_Boxes_In_a_Document [Suppression de toutes les zones de texte dans un document].