Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA - Récupérer chaine caractère suivant sa couleur

  • Initiateur de la discussion Initiateur de la discussion Spinzi
  • 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 !

Spinzi

XLDnaute Impliqué
Bonjour,

je souhaitais récupérer une chaine de caractère en fonction de sa couleur, mais je ne sais pas si c'est possible !

J'ai essayé de passer par une formule personnalisée mais je n'ai pas assez de compétence en VBA pour arriver à mes fins : j'avais pensé passer par un index equiv couplé à ma fonction personnalisée disponible en PJ.

Merci pour votre aide
 

Pièces jointes

Merci pour ton retour express !

Ca fonctionne plutôt bien, cependant j'ai l'impression que la formule s'emmêle les pinceaux si je modifie la couleur des textes (j'ai modifié tous les textes rouge en noir et la formule ne remonte plus rien).
J'ai ajouté un texte en ligne 6 qui lui par contre est bien reconnu.

Spinzi
 

Pièces jointes

Bonjour Spinzi, Pierre,

Cette fonction VBA semble convenir :
VB:
Function SupCouleur(c As Range, coul&) As String
Application.Volatile
Dim i%
SupCouleur = c
For i = Len(c) To 1 Step -1
    If c.Characters(i, 1).Font.ColorIndex = coul And Mid(SupCouleur, i, 1) <> vbLf Then _
        SupCouleur = Left(SupCouleur, i - 1) & Mid(SupCouleur, i + 1)
Next
End Function
Fichier joint, la colonne B est au format "Renvoyer à la ligne automatiquement".

A+
 

Pièces jointes

- 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
10
Affichages
586
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…