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. Assurez-vous que l’onglet Accueil du ruban est affiché.

  5. Cliquez sur la flèche vers le bas sous l’outil Coller (sur le côté gauche du ruban) et choisissez Collage spécial. Word affiche la boîte de dialogue Collage spécial. (Voir la figure 1.)

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

  7. 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. Comprenez également que tout ce qui est « spécial » dans le texte, comme les tableaux, est converti en texte normal par la macro. Cela signifie que la macro peut entraîner une bonne quantité de travail qui doit être effectuée dans le texte transféré formaté.

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

Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu de Word ici:

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