Mettre en gras des caractères dans un autre document Word - VB/VBA/VBS - Programmation
Marsh Posté le 11-11-2021 à 10:16:24
Bonjour,
Dans la macro le rafraîchissement de l'affichage de Word est désactivé, il faut le réactiver je suppose :
Code :
|
Marsh Posté le 11-11-2021 à 17:00:48
Bonjour,
Merci pour votre réponse. Cela n'a malheureusement pas aidé à résoudre le problème.
Je suis cependant parvenu à trouver la solution :-) (voir ci-dessous).
Belle journée à vous !
Private Sub dudule ()
Set docRange = oDoc.Range(0, 0)
ScreenUpdating = False
With docRange.Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Font.Bold = True
.MatchWildcards = True
.Text = "(\(*\))"
.Replacement.Text = "\1"
.Forward = True
.Execute Replace:=wdReplaceAll
End With
ScreenUpdating = True
End Sub
Marsh Posté le 10-11-2021 à 18:48:57
Bonjour,
Comme c'est mon premier message, je commence par me présenter.
Je ne suis pas un professionnel de l'informatique, juste quelqu'un qui n'a pas peur de mettre de temps en temps ses mains dans les entrailles des logiciels et qui a déjà fait un peu de programmation.
Je débute complètement en VBA (je commence à apprendre en lisant sur le Web) et je suis nouveau sur ce Forum. J'espère que vous serez indulgents si j'écris des bêtises...
Je vous contacte car j'essaie d'écrire un script en VBA qui crée un document Word, qui copie du texte dans cet autre document en fonction de paramètres entrés par l'utilisateur dans une boîte de dialogue.
Le document en question est créé ainsi:
'Création d'un document Word
Dim appWD As Word.Application
Set appWD = CreateObject("Word.Application" )
appWD.Visible = True
Set oDoc = appWD.Documents.Add
Jusque là, tout va bien.
J'aimerai ensuite que le script VBA mettre en gras le texte situé entre des parenthèses dans le document généré par le script. Et cela, je n 'y arrive pas.
J'utilise une routine que j'ai trouvée sur un ce forum (https://forum.hardware.fr/hfr/Progr [...] 8030_1.htm) pour tenter en vain de faire cela.
Voici la routine en question:
Private Sub dudule()
Selection.HomeKey unit:=wdStory
ScreenUpdating = False
With Selection.find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Font.Bold = True
.MatchWildcards = True
.Text = "(\(*\))"
.Replacement.Text = "\1"
.Forward = True
.Execute Replace:=wdReplaceAll
End With
End Sub
J'ai essayé de faire différentes modification dans le code et de changer le document actif (comme ceci: oDoc.Activate), et après plusieurs heures d'essais divers, rien n'y fait...
J'ai l'impression qu'il y a des fondamentaux VBA que je n'ai pas appris/compris.
Si jamais une bonne âme pouvait m'aider, à résoudre ce mystère ce serait génial...
Merci d'avance à vous!