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
nextest 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.