Word - Souligner automatiquement des noms contenus dans 1 liste
Résolu
mib_valentine
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
mib_valentine Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
mib_valentine Messages postés 25 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je travaille sous word 2010 et j'ai une longue bibliographie faisant intervenir de nombreux auteurs. Le fichier se nomme "PUBLICATIONS.DOCX".
J'ai, dans un autre fichier Word, une liste de noms. Le fichier se nomme "CHERCHEURS.DOCX"
J'aurais souhaité qu'à chaque fois que l'application rencontre dans PUBLICATIONS.DOCX un des noms présents dans le fichier CHERCHEURS.DOCX, elle souligne ce nom.
Je pensais qu'il était possible de faire cela avec une fonctionnalité telle que la table des matières ou encore l'index, mais je ne parviens à rien...
Est-ce que quelqu'un sait s'il est possible de faire cela de façon automatique?
Merci pour votre aide éventuelle.
Frédérique
Je travaille sous word 2010 et j'ai une longue bibliographie faisant intervenir de nombreux auteurs. Le fichier se nomme "PUBLICATIONS.DOCX".
J'ai, dans un autre fichier Word, une liste de noms. Le fichier se nomme "CHERCHEURS.DOCX"
J'aurais souhaité qu'à chaque fois que l'application rencontre dans PUBLICATIONS.DOCX un des noms présents dans le fichier CHERCHEURS.DOCX, elle souligne ce nom.
Je pensais qu'il était possible de faire cela avec une fonctionnalité telle que la table des matières ou encore l'index, mais je ne parviens à rien...
Est-ce que quelqu'un sait s'il est possible de faire cela de façon automatique?
Merci pour votre aide éventuelle.
Frédérique
A voir également:
- Word - Souligner automatiquement des noms contenus dans 1 liste
- Liste déroulante excel - Guide
- Word 2013 - Télécharger - Traitement de texte
- Suivi des modifications word - Guide
- Tableau word - Guide
- Supprimer une page dans word - Guide
2 réponses
Bon, j'ai trouvé une solution via une macro. Reste à savoir comment faire avec une liste extérieure (les noms) :
Dim varNom(4) As String
varNom(0) = "Dupont"
varNom(1) = "Durand"
varNom(2) = "Viileneuve"
varNom(3) = "Cazeneuve"
varNom(4) = "Bonnet"
i = 0
While i < 5
auteur = varNom(i)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Underline = wdUnderlineSingle
With Selection.Find
.Text = auteur
.Replacement.Text = auteur
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
i = i + 1
Wend
End Sub
Dim varNom(4) As String
varNom(0) = "Dupont"
varNom(1) = "Durand"
varNom(2) = "Viileneuve"
varNom(3) = "Cazeneuve"
varNom(4) = "Bonnet"
i = 0
While i < 5
auteur = varNom(i)
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Underline = wdUnderlineSingle
With Selection.Find
.Text = auteur
.Replacement.Text = auteur
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
i = i + 1
Wend
End Sub
Ai trouvé une macro provenant du module EndNote pour Word :
Sub AuteursASouligner()
Dim oDocSource As Document, oDocCible As Document
Dim oTbl As Table
Dim oRow As Row
Dim oDlg As FileDialog
Set oDlg = Application.FileDialog(msoFileDialogFilePicker)
With oDlg
.AllowMultiSelect = False
.Title = "Document contenant la liste des noms des chercheurs sous forme de tableau"
.Show
End With
Set oDocSource = Documents.Open(oDlg.SelectedItems(1))
With oDlg
.AllowMultiSelect = False
.Title = "Document des publications dans lequel souligner les auteurs"
.Show
End With
Set oDocCible = Documents.Open(oDlg.SelectedItems(1))
Set oTbl = oDocSource.Tables(1)
For Each oRow In oTbl.Rows
oDocCible.Select
auteur = NetText(oRow.Cells(1).Range.Text) 'utilisation de notre fonction
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Underline = wdUnderlineSingle
With Selection.Find
.Text = auteur
.Replacement.Text = auteur
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Selection.Find.Execute Replace:=wdReplaceAll
End With
Next oRow
Set oDlg = Nothing
Set oTbl = Nothing
Set oDocSource = Nothing
End Sub
Function NetText(stTemp As String) As String
NetText = Left(stTemp, Len(stTemp) - 2)
End Function
Sub AuteursASouligner()
Dim oDocSource As Document, oDocCible As Document
Dim oTbl As Table
Dim oRow As Row
Dim oDlg As FileDialog
Set oDlg = Application.FileDialog(msoFileDialogFilePicker)
With oDlg
.AllowMultiSelect = False
.Title = "Document contenant la liste des noms des chercheurs sous forme de tableau"
.Show
End With
Set oDocSource = Documents.Open(oDlg.SelectedItems(1))
With oDlg
.AllowMultiSelect = False
.Title = "Document des publications dans lequel souligner les auteurs"
.Show
End With
Set oDocCible = Documents.Open(oDlg.SelectedItems(1))
Set oTbl = oDocSource.Tables(1)
For Each oRow In oTbl.Rows
oDocCible.Select
auteur = NetText(oRow.Cells(1).Range.Text) 'utilisation de notre fonction
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Underline = wdUnderlineSingle
With Selection.Find
.Text = auteur
.Replacement.Text = auteur
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
Selection.Find.Execute Replace:=wdReplaceAll
End With
Next oRow
Set oDlg = Nothing
Set oTbl = Nothing
Set oDocSource = Nothing
End Sub
Function NetText(stTemp As String) As String
NetText = Left(stTemp, Len(stTemp) - 2)
End Function