Bonjour!!
J'ai une liste de 10 phrases qui apparaît régulièrement dans mes documents et que je dois formater comme suit chaque fois :
-texte centré
-lettres tout en majuscules
-pas plus ni moins que 2 retours avant le texte et 3 après le texte.
J'ai travaillé avec de l'aide ci et là d'Internet. Mais je bloque pour les codes de retour. Il pourrait arriver qu'il y ait par exemple 4 retours devant et 1 après. Je dois donc enlever tous les :
[x nombre de retour avant]Mon Texte 0[x nombre de retours après]
Pourrait compliquer la chose, il peut arriver que la phrase soit par erreur précédée ou suivi d'un certain nombre d'espaces (^w) qu'il faut donc enlever avant de travailler le nombre de retour.
Voici mes macros et merci de votre aide!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 sub MaMacro () Dim rText As Range Dim vFindText(4) As Variant Dim i As Long vFindText(0) = "Mon Texte 0" vFindText(1) = "Mon Texte 1" vFindText(2) = "Mon Texte 2" vFindText(3) = "Mon Texte 3" vFindText(4) = "Mon Texte 4" 'etc. For i = 0 To UBound(vFindText) With Selection .HomeKey wdStory With .Find .ClearFormatting .Replacement.ClearFormatting Do While .Execute(findText:=vFindText(i), _ MatchWildcards:=True, _ Wrap:=wdFindStop, MatchCase:=False, Forward:=True) = True Set rText = Selection.Range With rText Select Case i Case Is = 0 Macro_Mise_en_forme Case Is = 1 Macro_Mise_en_forme Case Is = 2 Macro_Mise_en_forme Case Is = 3 Macro_Mise_en_forme Case Is = 4 Macro_Mise_en_forme End Select End With Loop End With End With Next i End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub Macro_Mise_en_forme() 'Centre le texte With Selection.ParagraphFormat .Alignment = wdAlignParagraphCenter End With 'Enlève l'option "allcaps" s'il y a lieu With Selection.Font .AllCaps = False End With 'Met toutes les lettres en majuscules comme il se doit Selection.Range.Case = wdUpperCase End Sub
Partager