XL 2019 trouver toutes les occurrences d'un caractère dans une chaine

  • Initiateur de la discussion Initiateur de la discussion teclim
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

teclim

XLDnaute Nouveau
Bonjour,
Je débute en vba et j'ai un souci avec la suppression d'une partie du texte d'une cellule.
Voila ce que j'ai au départ:

cellule origine.png
mais après suppression de la fin du texte avec la fonction mid() j'obtiens ceci :
cellule après.png



Comment je peux supprimer du texte en gardant la mise en forme du texte ?
D'avance merci.
 
Bonjour teclim,

La solution est de stocker les propriétés des caractères dans des tableaux.

Puis de les restituer après modification du texte de la cellule :
VB:
Sub ConserverFormatTexte()
Dim cel As Range, supr%, conserve$, i%, a(), b()
Set cel = [A1] 'à adapter
supr = 62 'nombre de caractères à supprimer en fin de texte, à adapter
conserve = Left(cel.Text, Len(cel.Text) - supr)
For i = 1 To Len(conserve)
    ReDim Preserve a(1 To i): a(i) = cel.Characters(i, 1).Font.Color 'couleur
    ReDim Preserve b(1 To i): b(i) = cel.Characters(i, 1).Font.Bold 'gras
Next i
cel = conserve 'modifie le texte
For i = 1 To Len(conserve)
    cel.Characters(i, 1).Font.Color = a(i)
    cel.Characters(i, 1).Font.Bold = b(i)
Next i
cel.EntireRow.AutoFit 'ajustement hauteur, facultatif
End Sub
A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
472
Retour