Fonction replace change la mise en forme de mon texte

Bonjour,

comment éviter que la fonction replace ne change la mise en forme de mon texte?

J'ai une colonne qui contient du texte.

Dans chaque cellule peut avoir du texte avec des retour chariots.

J'ai ajouté un indicateur pour me dire si le texte a changé. J'ai ajouté un # devant le texte modifié.

le caractère avant le # doit être colorier en gras.

Jusqu'ici tout va bien.

Ensuite j'enlève mon indicateur avec la fonction replace peut importe que j'utilise

Worksheets("Sheet1").Columns("A").Replace _ 
 What:="#", Replacement:="", _ 
 SearchOrder:=xlByColumns, MatchCase:=True
for i = 1 to nbligne
Worksheets("Sheet1").cells(i,1).text = replace(Worksheets("Sheet1").cells(i,1).text,"#","")

il m'enlève ma coloration

le code qui colorie

for h = 1 to nbligne
    txtCells =sheets(1).cell(h,1).text
for i = 1 to len(txtCells)
    if car = "#" then
        sht.cells(i,10).Characters(i-1,1).font.bold= true
        sht.cells(i,10).Characters(i-1,1).font.color= vbgreen
    end if
next

est ce que vous me conseiller de mémoriser la ou les position n-1 de # d'utiliser la fonction replace et de colorier ensuite?

Mais comme il y a des "retour chariot" chr(10) j'utilise le fait de remplacer par du vide ou je dois mettre un espace pour garder le même nombre de caractères?

bref je faire des tests.

où il y a une solution plus clair?

bref j'ai remarqué que la fonction replace change la mise en forme du texte.

Merci de votre lecture

Ps: je donnerai ma solution dans une heure ou deux à plus

cela fonctionne youpi,

c'est vraiment une grosse merde replace pour la mise en forme

donc ce que j'ai fait.

Mémoriser la position des marqueurs #

le remplacer par un espace pour garder le même nombre de caractère

et colorier en fonction de la position du marqueur

le code pour le faire m'envoyer un message mais l'algo est au dessus.

Rechercher des sujets similaires à "fonction replace change mise forme mon texte"