Remplacer une chaine (variable) délimitée

alchimiste03 Messages postés 2 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 21 juillet 2008 - 21 juil. 2008 à 15:16
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 22 juil. 2008 à 08:41
Bonjour

Problème dans Word, je voudrais faire une macro qui me permette d'effacer des chaines de caractères.

Ces chaines sont variables en longueur mais elles sont toujours délimitées par un (dièse) # au début et à la fin.

Pouvez-vous m'aider ? Je suis assez novice dans ce domaine. J'ai cherché dans l'existant mais je n'ai rien trouvé

Merci d'avance.

Patrice

4 réponses

zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
21 juil. 2008 à 17:05
InStr([start = > le dernier # recuperer ou 0 pour le premier caret], "ton text" , "#")

Modifie les valeur en bleu par les valeur désirées

<hr size ="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
alchimiste03 Messages postés 2 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 21 juillet 2008
21 juil. 2008 à 18:18
Merci,

Mais je suis une vraie buse, dans Word 2007, dans les options de remplacement on peut cocher une case dans Remplacer.. Plus "Utiliser les caractères génériques".

Donc j'ai fait un enregistrement de macro à partir de ça. Et voilà ce que ça donne.

Sub Supp_Fusion_Vide()
'
' Supp_Fusion_Vide Macro
'
'


    Selection.HomeKey Unit:=wdStory
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "###*###"
        .Replacement.Text = " "
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Et voilou   mais merci quand même.
0
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
21 juil. 2008 à 18:21
Ah bon... je savais pas que word acceptais ce genre de recherche : "###*###"

Alors, c'est toi qui pose la question et c'est moi qui apprend... genial! :P

<hr size="2" width="100%" />  zen69 aka Ortho Le Profett
  [site web]
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 juil. 2008 à 08:41
salut,

montre nous un exemple concret de chaîne avant et ce que tu veux après
parce que si çà commence et fini par "#" et que tu veux supprimer le contenu, çà revient simplement à attribuer "##" ;)

ps : tu as classé en VB6
<li> Vous êtes ici : [infomsg.aspx Thèmes] / [infomsgf_VISUAL-BASIC_1.aspx Visual Basic 6] / [infomsgt_DIVERS_220.aspx Divers] / [infomsgt_GENERAL_222.aspx General] / Remplacer une chaine (variable) délimitée</li>
macro = VBA
thème topic déplacé
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
Rejoignez-nous