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

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
 

Fichiers joints

Spinzi

XLDnaute Impliqué
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
 

Fichiers joints

job75

XLDnaute Barbatruc
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+
 

Fichiers joints

Spinzi

XLDnaute Impliqué
Bonjour Job !

ça fonctionne super bien couplé à mon index equiv.

Merci à vous pour votre expertise =)
Spinzi
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas