[VBA-Word] remplacer la mise en forme d'un texte entre guillemets

remplacer la mise en forme d'un texte entre guillemets [VBA-Word] - VB/VBA/VBS - Programmation

Marsh Posté le 07-11-2009 à 18:19:21    

Bonjour,  
 
je sollicite encore une fois votre aide.  
 
Voilà donc mon souci : je voudrais remplacer la mise en forme d'un texte entre guillemets grâce à la fonction "remplacer" de Word. Je voudrais par exemple que "texte" deviennent \"texte\".
 
Me basant sur une autre macro, il ne me manque qu'une information : comment dire a la macro que tout ce qui entre guillemets doit être remplacer. Dans ma premiere macro, cela se traduit par ces deux lignes :  
 

Code :
  1. .Text = "((*))" ; Cherche tout ce que ce trouve entre parenthèse
  2. .Remplacement.Text = "1" ; Formate le texte (parenthèses comprises) avec le formatage voulu


Est-ce que quelqu'un pourrai m'indiquer ce que j'ai à changer dans ces deux lignes ou bien me conduire vers un guide VBA qui me permettrait de trouver ces informations?
 
Questions subsidiaires : peut-on faire le même macro remplacant uniquement le formatage du texte (donc pas celui des parenthèses et guillemets)?
 
Merci d'avance pour vos réponses.
 
EDIT : j'ai testé en remplaçant les parenthèses du code ci-dessus par chr$(34) mais cela n'a pas eu d'effet.


Message édité par serial_xp le 07-11-2009 à 18:40:02
Reply

Marsh Posté le 07-11-2009 à 18:19:21   

Reply

Marsh Posté le 07-11-2009 à 19:37:50    

Voici une copie du code pour la macro de remplacement du texte entre guillemets :  
 
Sub guillemets()
Selection.HomeKey unit:=wdStory
ScreenUpdating = False
With Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Replacement.Font.Italic = True
    .Replacement.Font.Color = wdRed
    .MatchWildcards = True
    .Text = "chr$(34) & (*) & chr$(34)"
    .Replacement.Text = "\1"
    .Forward = True
    .Execute Replace:=wdReplaceAll
End With
End Sub
 
Après quelques recherches supplémentaires, j'étais persuadés que cela fonctionnerait car le problème doit se situer lors de la recherche dans le texte. Apparemment, j'ai du me planter quelques part ailleurs.

Reply

Marsh Posté le 09-11-2009 à 08:32:03    

Bonjour,
 
Essais avec :  
 
 .Text = (^034*^034)

Reply

Marsh Posté le 09-11-2009 à 12:06:36    

Génial, ca marche avec
 
.Text = "(^034*^034)"
 
Un grand merci pour ton aide !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed