mardi 26 mars 2013

VBA Word : macro pour supprimer tous les champs de type AUTOTEXTLIST

Bonjour à tous,

OFFICE_WORD_2010il y a quelques jours un internaute “Manu” m’interpelez sur ce blog après la lecture d’un article intitulé “Afficher une info-bulle contenant la définition d’un mot au survol de la souris en utilisant le champ AUTOTEXTLIST” et me demandait de lui fournir une macro qui lui permettrait d’automatiser l’insertion d’une info-bulle pour toutes les occurrences d’un même mot. Après quelques heures de travail, je fus en mesure de lui apporter une réponse que je publiais sur l’article suivant “Ajouter une info bulle à toutes les occurrences d’un mot dans un document Word”.

Après test et utilisation de la macro par Manu, celui-ci est revenu vers moi avec des commentaires qui m’ont permis de corriger certains bugs. Manu demandas également deux autres macros, l’une permettant de supprimer toutes les info-bulles et la seconde permettant de supprimer les info-bulles d’une occurrence précise.

Je propose donc ci-après une macro permettant de supprimer tous les champs de type AUTOTEXTLIST

----------------------------------------------------------------------------------------------

Sub SupprimerToutesLesInfobulles()

’ Macro SupprimerToutesLesInfobulles, créée par Mehdi HAMMADI le 26/03/2013
’ suite à la requête d’un internaute sur le blog Office Users
’ Objectif : supprimer tous les champs de type AUTOTEXTLIST

    Dim nbChamps As Integer
   
    nbChamps = ActiveDocument.Fields.Count
   
    For i = nbChamps To 1 Step -1
       
        If Left(ActiveDocument.Fields(i).Code, 13) = " AUTOTEXTLIST" Then
            ActiveDocument.Fields(i).Select
            Selection.Text = ActiveDocument.Fields(i).Result
        End If
   
    Next
   
    Selection.HomeKey Unit:=wdStory

End Sub

----------------------------------------------------------------------------------------------

Mots clés Technorati : ,,,,

3 commentaires:

  1. Fonctionne Nickel !
    Merci pour ton boulot, ce trio de macro est tout simplement parfaite !
    Juste une suggestion, pour moi, il n'y a aucun problème, mais peut être que pour certains, par manque de vigilance, un clique par erreur pourrais supprimer touts les champs (Bon, tu me dira, il y a le Ctrl-Z).
    Mais je pense qu'une petite fenêtre "Êtes vous sur de vouloir supprimés toutes les infos bulles de ce document" pourrais être pratique pour les étourdis :)

    RépondreSupprimer
  2. Bonjour,
    J'ai besoin de quelque chose de semblable. Une macro qui masquerait les champs AUTOTEXTLIST lors de l'impression (afin de ne pas voir les petits crochets)
    Merci.

    RépondreSupprimer
    Réponses
    1. Bonsoir,
      Désolé je suis assez occupé ces jours ci, je me pencherais sur votre requête dès que possible.
      Cordialement,
      Mehdi

      Supprimer