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
 

Pièces jointes

  • Test texte suivant couleur.xlsm
    14.2 KB · Affichages: 11

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
 

Pièces jointes

  • Test texte suivant couleur_vPJ.xlsm
    15.7 KB · Affichages: 3

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+
 

Pièces jointes

  • Test texte suivant couleur(1).xlsm
    21 KB · Affichages: 16

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 851
dernier inscrit
vaiata