Affichage des articles dont le libellé est info-bulle. Afficher tous les articles
Affichage des articles dont le libellé est info-bulle. Afficher tous les articles

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 : ,,,,

vendredi 15 mars 2013

Ajouter une info bulle à toutes les occurrences d’un mot dans un document Word

Il y a quelques temps je publiais un article intitulé “Word : afficher une info-bulle contenant la définition d’un mot au survol de la souris en utilisant le champ AUTOTEXTLIST” dans cette article j’explique comment ajouter dans Word une info-bulle à un mot permettant de l’expliquer ou de le définir. Suite à cette article un Internaute m’a demandé de lui fournir une macro qui permettrait d’automatiser cette tâche.

Je vous présente donc “InfoBulle” une macro qui recherche l’occurrence d’un mot dans un document puis le remplace par un champ permettant d’afficher lorsque vous survolez le mot avec la souris une info-bulle qui contient un texte pouvant être utilisé pour définir ou expliquer le mot survolé. Cette macro a été fait sous Word version 2010.

La macro ‘Infobulle’

Sub InfoBulle()
'
' Macro Info-bulle, créée par Mehdi HAMMADI le 15/03/2012
' Suite à la requête d'un Internaute sur le site Office Users
' Objectif rechercher les différentes occurrences d'un mot dans un texte puis lui ajouter une infobulle.
' Merci à Circé pour la partie de code permettant de compté le nombre d'occurence d'un mot
’ (http://www.faqword.com/index.php/word/faq-word/vba-solutions/555-comment-compter-le-nombre-doccurences-contenues-dans-un-document)
   
    Dim strMotARecherche As String
    Dim strTexteInfoBulle As String
    Dim strTexteDuChamp As String
   
    strMotARechercher = InputBox("Saisissez le mot", "Mot à rechercher")
    strTexteInfoBulle = InputBox("Saisissez le texte de l'info-bulle", "Info-bulle")
   
    If IsNull(strMotARechercher) Or strMotARechercher = "" Or IsNull(strTexteInfoBulle) _
        Or strTexteInfoBulle = "" Then
        Exit Sub
    Else
        Selection.HomeKey Unit:=wdStory
        strTexteDuChamp = "AUTOTEXTLIST " & chr$(34) & strMotARechercher & chr$(34) & " \t " _
        & chr$(34) & strTexteInfoBulle & chr$(34)
        iCount = 0
        With ActiveDocument.Content.Find
            Do While .Execute(FindText:=strMotARechercher, Format:=False, _
                MatchCase:=False, MatchWholeWord:=True) = True
                iCount = iCount + 1
            Loop
        End With
       
        If iCount = 0 Then
            MsgBox ("pas de correspondance")
            Exit Sub
        End If
              
        Selection.HomeKey Unit:=wdStory
        With Selection.Find
            .Text = strMotARechercher
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = True
        End With
       
        For i = 1 To iCount
            Selection.Find.Execute
            ActiveWindow.View.ShowFieldCodes = True
            Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
            Text:=strTexteDuChamp, PreserveFormatting:=True
            ActiveWindow.View.ShowFieldCodes = False
        Next
    End If
End Sub

Mots clés Technorati : ,,,

dimanche 3 octobre 2010

Word : afficher une info-bulle contenant la définition d’un mot au survol de la souris en utilisant le champ AUTOTEXTLIST

logo Word 200 Lors d’un précédent post je vous présentais une méthode permettant d’ajouter la définition d’un mot sous forme d’info-bulle basée sur l’utilisation d’un lien hypertexte.

Je vous propose de découvrir une autre méthode basée sur l’utilisation du champ AUTOTEXTLIST.

Comment faire ?

  1. Positionnez votre curseur dans votre texte à l'endroit ou vous souhaitez insérer un mot avec sa définition. (si le mot existe déjà sélectionnez le)
  2. Affichez la boite de dialogue "Champ"
    - Sous Word 2003 : Insertion --> champ...
    - Sous Word 2007/2010 : Insertion --> Texte --> QuickPart --> Champ...
  3. Sélectionnez le champ "AUTOTEXTLIST" à partir de la liste "Nom de champ :"
  4. Introduire les différentes paramètres du champ :
    - Sous Nouvelle valeur, saisissez ou ressaisissez le mot à définir
    - Cochez la case Info-bulle et saisissez dans la zone de texte à sa droite la définition que vous souhaitez faire apparaître.
    - Sous Format choisissez une mise en forme pour le mot à définir.
  5. Cliquez sur "OK" pour valider
  6. Sélectionnez à nouveau le mot et mettez le en surbrillance pour le faire ressortir dans votre texte.

Boite de dialogue "Champ" pour AUTOTEXTLIST

Comment l’utilisez ?

Il suffit d’amener le curseur sur le texte et l’info-bulle s’affiche.

mercredi 29 septembre 2010

Word 2007 : afficher une info-bulle contenant la définition d’un mot au survol de la souris en utilisant un lien hypertexte

Word07 Vous avez peut être eu envie d’agrémenter vos documents Word en ajoutant une touche personnel tel que la possibilité d’afficher une info-bulle au survol de la souris dans laquelle figure la définition d’un mot.

Nous vous proposons de découvrir une méthode simple qui vous permettra de réaliser cela en toute simplicité.

Comment faire ?

  1. Après avoir saisi votre texte, sélectionnez le mot pour lequel vous souhaitez afficher la définition. (par exemple AAEFAB)
  2. Dans le groupe “Liens” de l’onglet “Insertion”, cliquez sur le bouton “Signet
  3. Dans la zone de texte “Nom du signet :”, saisissez un nom significatif (par exemple AAEFAB), puis cliquez sur le bouton “Ajouter
  4. Tout en gardant la sélection, affichez la boite de dialogue “Insérer un lien hypertexte” en utilisant le raccourci “CTRL+K
  5. Dans le volet de navigation, sélectionnez “Emplacement dans ce document
  6. Dans l’arborescence, sélectionnez, le signet précédemment ajouté (AAEFAB).
  7. Cliquez sur le bouton “Info-bulle
  8. Dans la boite de dialogue qui s’affiche, saisissez le texte de la définition (pour notre exemple : Association Algérienne Enfance et Famille d’Accueil Bénévole)
  9. Cliquez sur le bouton “OK” pour encore une fois sur le bouton “OK”.

InfoBulleVersSignet

Utilisation:

Votre mot apparaît désormais souligné en bleu, il ne vous reste plus qu’à amener la souris dessus, l’info-bulle apparaît.

infobulle2

Remarque : cette méthode est tout à fait applicable à la version 2003 de Word