Bonjour à tous et à toutes,
Avant de commencer, je tiens à préciser que je suis novice en macro Word et en macro en VBA en particulier, donc SVP soyez indulgents
Je souhaiterai créer une macro (je suppose en VBA) afin de remplacer, par exemple, les "é" par "é" ou les è par "è" (autrement dit en code HTML). (Ça existe peut-être déjà remarquez; si oui, où puis-je la trouver/télécharger ?)
J'utilise actuellement la fonction Rechercher/Remplacer de Word, mais c'est long et fastidieux car il faut que je fasse caractère "spéciaux ou accentués" par caractère.
Pouvez-vous SVP m'aider à rédiger une macro en VBA (pour 2 caractères (comme les les "é" par "é" ou les è par "è"); une fois que j'aurais compris quoi taper, je m'arrangerai pour les autres caractères) ?
Dans un autre sujet, une personne donnait le code suivant, mais je ne sais pas (trop) où et comment le mettre sous Word 2010 :
D'autre part, dans le code ci-dessus, je ne comprends pas pourquoi il faut "Mettre dans le presse-papier le caractère à remplacer en texte masqué". Est-ce que c'est indispensable ?
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112 Sub DVP_EncrypteDecrypte_EncrypteParRemplacement() '// Ne pas afficher les modifications Application.ScreenUpdating = False '// Ne pas afficher le texte masqué ActiveWindow.View.ShowHiddenText = False '// Aller en début de document Selection.HomeKey Unit:=wdStory '// Mettre dans le presse-papier le caractère à remplacer en texte masqué Selection.TypeText Text:="e" Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend With Selection.Font .Name = "Courier New" .Size = 12 .Bold = False .Italic = False .Underline = wdUnderlineNone .UnderlineColor = wdColorAutomatic .StrikeThrough = False .DoubleStrikeThrough = False .Outline = False .Emboss = False .Shadow = False .Hidden = True .SmallCaps = False .AllCaps = False .Color = wdColorBlack .Engrave = False .Superscript = False .Subscript = False .Spacing = 0.25 .Scaling = 100 .Position = 0 .Kerning = 0 .Animation = wdAnimationNone End With Selection.Cut '// Remplacer le caractère concerné Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "e" .Replacement.Text = "^cs" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = True .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll '// Aller en début de document Selection.HomeKey Unit:=wdStory '// Mettre dans le presse-papier le caractère à remplacer en texte masqué Selection.TypeText Text:="t" Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend With Selection.Font .Name = "Courier New" .Size = 12 .Bold = False .Italic = False .Underline = wdUnderlineNone .UnderlineColor = wdColorAutomatic .StrikeThrough = False .DoubleStrikeThrough = False .Outline = False .Emboss = False .Shadow = False .Hidden = True .SmallCaps = False .AllCaps = False .Color = wdColorBlack .Engrave = False .Superscript = False .Subscript = False .Spacing = 0.25 .Scaling = 100 .Position = 0 .Kerning = 0 .Animation = wdAnimationNone End With Selection.Cut '// Remplacer le caractère concerné Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "t" .Replacement.Text = "^cx" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = True .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll '// Ne pas afficher le texte masqué ActiveWindow.ActivePane.View.ShowAll = False Application.ScreenUpdating = True End Sub
D'avance merci pour vos réponses
Partager