Bonjour,

J'ai un texte dans une cellule Excel (oui, je sais on fait mieux pour saisir du texte) qui contient des balises que je souhaiterai supprimer tout en conservant la mise en forme effectuée sur certains mots.

Ex :"Cette <B>porte</B> du 12<E>e</E> s., est de style <B>gothique flamboyant</B> etc..."

Je voudrais obtenir :
"Cette porte du 12e s., est de style gothique flamboyant etc..."


Pour ce faire, j'utilise le code suivant (exemple sur la balise entrante "gras") :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Do While InStr(i, Text, "<B>") > 0
 
        BaliseDeb = InStr(i, Text, "<B>")
 
        ActiveCell.Characters(Start:=BaliseDeb, Length:=3).Delete
 
        Text = ActiveCell
 
Loop
Ca fonctionne très bien lorsque mes textes ont moins de 256 caractères... au delà, (grrrr) ca coince !! (j'ai en effet des textes qui peuvent faire 3000 caractères environ)

Quelqu'un aurait'il une solution à proposer pour contourner cette limitation ? Je précise que si j'utilise la fonction "Replace" -> Replace(text,"<B>",""), je perds tout bonnement ma mise en forme dans ma cellule...

Merci par avance