utiliser en VBA excel characters sur chaine longue

Le
pirot
Bonjour,

Pour conserver les mises en forme des caractères dans les cellules,
j'utilise la propriété characters (au lieu de mid qui perd les mises en=
formes)

Mon problème: lorsque la cellule contient plus de 255 caractères, cela =
ne fonctionne plus.
Y a-t-il moyen de lever cette restriction????

vous pouvez tester l'exemple suivant:
Sub test()

Range("A1") = "123456789" & String(100, "e")
Range("A1").Characters(4, 1).Font.Underline = True
Range("A1").Characters(4, 1).Delete
Range("a1").Characters(2, 1).Insert "iiiii"


Range("A2") = "123456789" & String(500, "e")
Range("A2").Characters(4, 1).Font.Underline = True
Range("A2").Characters(4, 1).Delete
Range("A2").Characters(2, 1).Insert "iiiii"
End Sub

merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #26334934
Bonjour,

Il y a ceci :

Range("A2") = "123456789" & String(500, "e")
Range("A2").Characters(4, 1).Font.Underline = True

'4 est le caractère à supprimer dans la cellule A2
Range("A2") = Replace(Range("A2"), 4, "", 1)

'Le deuxième caractère est 2, pour ajouter "iiiii" après le 2 on
'peut écrire quelque chose comme :
Range("A2") = Replace(Range("A2"), 2, "2iiiii", 1)
benoit
Le #26334938
MichD
'Le deuxième caractère est 2, pour ajouter "iiiii" après le 2 on
'peut écrire quelque chose comme :
Range("A2") = Replace(Range("A2"), 2, "2iiiii", 1)



Et pour remplacer le 1024e caractère ?

--
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La
pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et
personne ne sait pourquoi !" [ Albert Einstein ]
MichD
Le #26334951
suppose que tu veuilles changer le 2000e caractère de A2 par "5555"

'----------------------------------------------
Sub Test()
Dim T As String, Z As String
T = Range("A2").Text
Z = Left(T, 1999) & "5555" & Right(T, 2001)
Range("A2") = Z
End Sub
'----------------------------------------------
Publicité
Poster une réponse
Anonyme