Les cookies nous permettent d'offrir nos services. En utilisant nos services, vous acceptez notre utilisation des cookies.
Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
Inscription
x

or

Comment extraire du texte basé sur la couleur de police d'une cellule dans Excel?

Si vous avez une liste de données avec du texte rouge dans chaque cellule dans Excel comme indiqué ci-dessous capture d'écran, et savez-vous comment extraire le texte rouge uniquement? Maintenant, je vais présenter un moyen rapide de résoudre le puzzle qui extrait du texte basé sur la couleur de la police d'une cellule dans Excel.

doc-extrait-texte-couleur-1

Extrait le texte basé sur la couleur de la police de chaque cellule


flèche bleue droite bulle Extrait le texte basé sur la couleur de la police de chaque cellule


Dans Excel, vous pouvez uniquement utiliser la fonction définie pour extraire le texte en fonction de la couleur de la police.

1. presse Alt + F11 clés ensemble pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez insérer > Module et copiez le code VBA suivant dans la fenêtre dépliée.

VBA: extraire le texte en fonction de la couleur de la police

Function GetColorText(pRange As Range) As String
	'Updateby20141105
	Dim xOut As String
	Dim xValue As String
	Dim i As Long
	xValue = pRange.Text

	For i = 1 To VBA.Len(xValue)

		If pRange.Characters(i, 1).Font.Color = vbRed Then
			xOut = xOut & VBA.Mid(xValue, i, 1)
		End If

	Next

	GetColorText = xOut
End Function

3. Ensuite, enregistrez et fermez la boîte de dialogue, et sélectionnez une cellule vide à côté de la liste de données, tapez cette formule = GetColorText (A1) (A1 indique la cellule dont vous voulez extraire le texte), appuyez sur Entrer clé pour obtenir le texte nécessaire, puis faites glisser la poignée de remplissage automatique pour remplir la formule à la plage que vous voulez.

Vous pouvez maintenant voir tous les textes en rouge extraits.

doc-extrait-texte-couleur-2

Pointe: Dans le code VBA ci-dessus, si vous devez extraire le texte noir des cellules, vous pouvez modifier le nom de la couleur Couleur = vbRed à Couleur = vbBlack.


Articles relatifs:



Outils de productivité recommandés

Office Tab

étoile d'or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d'or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d'or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d'écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    prudwi · 2 months ago
    The code works well if the red strings are continuous. In case they are separated in the source cell, they are glued to each other in output cell. I mean there is no space in the output if the red text strings are away from each other. Can you please provide a solution for this?
  • To post as a guest, your comment is unpublished.
    Kazam Raza · 2 months ago
    thanks, very interesting code.
  • To post as a guest, your comment is unpublished.
    Roberto · 3 months ago
    dimenticavo io ho Excel 2010
  • To post as a guest, your comment is unpublished.
    Roberto · 3 months ago
    Buonasera, grazie mille un'ottima funzione. Però ho un problema, quando val nel foglio ed inserisco es. = GetColorText (A1) mi restituisce il valore giusto però come riavvio il file mi da errore #VALORE!, se poi clicco 2 volte sopra mi da il valore corretto e così via. che posso fare?
  • To post as a guest, your comment is unpublished.
    JM · 1 years ago
    Hey, Thanks for the Tip. Works great with Red and Black.
    What if I want to parse "Purple"? changing it vbPurple does not work.
    Thanks