Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Appliquer un style à une sélection de texte seulement

2 réponses
Avatar
jamesTcarville
Bonjour,

J'ai une macro qui recherche dans un doc Word un certain format (police
20, gras, rouge) et qui applique =E0 la s=E9lection trouv=E9e un style
(titre1).
Je voudrais que ce style ne s'applique que lorsdque que la s=E9lection
contient du texte et pas lorsqu'elle est vide (comme un paragraphe par
exemple).
Quelqu'un aurait-il une id=E9e ??
Merci par avance.

A+

Voil=E0 le code :

Selection.Find.ClearFormatting
With Selection.Find.Font
.Size =3D 25
.Bold =3D True
.Color =3D wdColorAutomatic
End With
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style =3D ActiveDocument.Styles("Titre 1")
With Selection.Find
.Text =3D ""
.Replacement.Text =3D ""
.Forward =3D True
.Wrap =3D wdFindAsk
.Format =3D True
.MatchCase =3D False
.MatchWholeWord =3D False
.MatchWildcards =3D False
.MatchSoundsLike =3D False
.MatchAllWordForms =3D False
End With
Selection.Find.Execute Replace:=3DwdReplaceAll

2 réponses

Avatar
Clément Marcotte
Bonjour

Teste la longueur de la sélection

if len(selection) >0 then
mettre le titre1
end if


a écrit dans le message de news:

Bonjour,

J'ai une macro qui recherche dans un doc Word un certain format (police
20, gras, rouge) et qui applique à la sélection trouvée un style
(titre1).
Je voudrais que ce style ne s'applique que lorsdque que la sélection
contient du texte et pas lorsqu'elle est vide (comme un paragraphe par
exemple).
Quelqu'un aurait-il une idée ??
Merci par avance.

A+

Voilà le code :

Selection.Find.ClearFormatting
With Selection.Find.Font
.Size = 25
.Bold = True
.Color = wdColorAutomatic
End With
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles("Titre 1")
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Avatar
Clément Marcotte
Bonjour,

Je n'avais pas vu le code.

À première vue et non testé:

Selection.Find.ClearFormatting
With Selection.Find.Font
.Size = 25
.Bold = True
.Color = wdColorAutomatic
End With
Selection.Find.Replacement.ClearFormatting

if len(selection) > 0 then


Selection.Find.Replacement.Style = ActiveDocument.Styles("Titre 1")
With Selection.Find
.Text = ""
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindAsk
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
end if


a écrit dans le message de news:

Bonjour,

J'ai une macro qui recherche dans un doc Word un certain format (police
20, gras, rouge) et qui applique à la sélection trouvée un style
(titre1).
Je voudrais que ce style ne s'applique que lorsdque que la sélection
contient du texte et pas lorsqu'elle est vide (comme un paragraphe par
exemple).
Quelqu'un aurait-il une idée ??
Merci par avance.

A+

Voilà le code :