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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°1938647
serial_xp
Posté le 07-11-2009 à 18:19:21  profilanswer
 

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
mood
Publicité
Posté le 07-11-2009 à 18:19:21  profilanswer
 

n°1938660
serial_xp
Posté le 07-11-2009 à 19:37:50  profilanswer
 

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.

n°1938834
pyrof
Posté le 09-11-2009 à 08:32:03  profilanswer
 

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

n°1938932
serial_xp
Posté le 09-11-2009 à 12:06:36  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

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

 

Sujets relatifs
suppression doublons dans fichier texteManipulation basique de fichier texte a l'aide de Perl
Problème rapidité de mise en pauseBusiness Objects et VBA
Quizz debutant VBA[RESOLU] Remplacer une date si < date du jour
Texte dynamique + masque = problemeRegex cherche email dans un fichier texte.
[VBA-E] Problème pour macro collage spécialtexte qui change de couleur
Plus de sujets relatifs à : [VBA-Word] remplacer la mise en forme d'un texte entre guillemets


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