Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1161 connectés 

 



Dernière réponse
Sujet : Mettre en gras des caractères dans un autre document Word
pphbourgeois 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

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
pphbourgeois 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
MaybeEijOrNot Bonjour,

 

Dans la macro le rafraîchissement de l'affichage de Word est désactivé, il faut le réactiver je suppose :

 
Code :
  1. Private Sub dudule()
  2. Selection.HomeKey unit:=wdStory
  3. ScreenUpdating = False
  4. With Selection.find
  5.     .ClearFormatting
  6.     .Replacement.ClearFormatting
  7.     .Replacement.Font.Bold = True
  8.     .MatchWildcards = True
  9.     .Text = "(\(*\))"
  10.     .Replacement.Text = "\1"
  11.     .Forward = True
  12.     .Execute Replace:=wdReplaceAll
  13. End With
  14. ScreenUpdating = True
  15. End Sub

pphbourgeois 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!

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR