Word - Souligner automatiquement des noms contenus dans 1 liste
Résolu/Fermé
mib_valentine
Messages postés
25
Date d'inscription
vendredi 25 novembre 2011
Statut
Membre
Dernière intervention
1 mai 2013
-
Modifié par mib_valentine le 22/04/2013 à 21:09
mib_valentine Messages postés 25 Date d'inscription vendredi 25 novembre 2011 Statut Membre Dernière intervention 1 mai 2013 - 23 avril 2013 à 17:48
mib_valentine Messages postés 25 Date d'inscription vendredi 25 novembre 2011 Statut Membre Dernière intervention 1 mai 2013 - 23 avril 2013 à 17:48
A voir également:
- Word - Souligner automatiquement des noms contenus dans 1 liste
- Liste déroulante excel - Guide
- Suivi des modifications word - Guide
- Espace insécable word - Guide
- Supprimer une page word - Guide
- Table des matières word - Guide
2 réponses
mib_valentine
Messages postés
25
Date d'inscription
vendredi 25 novembre 2011
Statut
Membre
Dernière intervention
1 mai 2013
22 avril 2013 à 22:21
22 avril 2013 à 22:21
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
mib_valentine
Messages postés
25
Date d'inscription
vendredi 25 novembre 2011
Statut
Membre
Dernière intervention
1 mai 2013
23 avril 2013 à 17:48
23 avril 2013 à 17:48
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