Note: The other languages of the website are Google-translated. Back to English
English English

Comment extraire du texte en fonction de la couleur de la police d'une cellule dans Excel?

Si vous avez une liste de données avec du texte rouge dans chaque cellule dans Excel, comme illustré ci-dessous, et savez-vous comment extraire le texte rouge uniquement? Je vais maintenant vous présenter un moyen rapide de résoudre le casse-tête qui extrait le texte en fonction de la couleur de police d'une cellule dans Excel.

doc-extrait-texte-couleur-1

Extraire le texte en fonction de la couleur de la police de chaque cellule

Onglet Office Activez la modification et la navigation par onglets dans Office et simplifiez considérablement votre travail ...
Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%
  • Réutiliser n'importe quoi: Ajoutez les formules, les graphiques et tout autre élément les plus utilisés ou les plus complexes à vos favoris et réutilisez-les rapidement à l'avenir.
  • Plus de 20 fonctionnalités de texte: Extraire le numéro de la chaîne de texte; Extraire ou supprimer une partie des textes; Convertissez les nombres et les devises en mots anglais.
  • Outils de fusion: Plusieurs classeurs et feuilles en un seul; Fusionner plusieurs cellules / lignes / colonnes sans perdre de données; Fusionner les lignes en double et la somme.
  • Outils de fractionnement: Diviser les données en plusieurs feuilles en fonction de la valeur; Un classeur vers plusieurs fichiers Excel, PDF ou CSV; Une colonne à plusieurs colonnes.
  • Coller sauter Lignes cachées / filtrées; Compte et somme par couleur d'arrière-plan; Envoyez des e-mails personnalisés à plusieurs destinataires en masse.
  • Super filtre: Créez des schémas de filtres avancés et appliquez-les à toutes les feuilles; Sort par semaine, jour, fréquence et plus encore; Filtre par gras, formules, commentaire ...
  • Plus de 300 fonctionnalités puissantes; Fonctionne avec Office 2007-2019 et 365; Prend en charge toutes les langues; Déploiement facile dans votre entreprise ou organisation.

flèche bleue bulle droite Extraire le texte en fonction de la couleur de la police de chaque cellule


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

1. presse Alt + F11 touches 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 qui apparaît.

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

Function GetColorText(pRange As Range) As String
'UpdatebyExtendoffice20220621
Dim xOut As String
Dim xValue As String
Dim i As Long
Dim TextColor
TextColor = RGB(255, 0, 0) 'colorindex RGB
xValue = pRange.Text
For i = 1 To VBA.Len(xValue)
  If pRange.Characters(i, 1).Font.Color = TextColor 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, sélectionnez une cellule vide à côté de la liste de données, tapez cette formule = GetColorText (A1) (A1 indique la cellule dont vous souhaitez extraire le texte), appuyez sur Entrer pour obtenir le texte requis, puis faites glisser la poignée de remplissage automatique pour remplir la formule jusqu'à la plage souhaitée.

Vous pouvez maintenant voir que tout le texte rouge est extrait.

doc-extrait-texte-couleur-2

Conseil : Dans le code VBA ci-dessus, vous pouvez changer la couleur rgb dans ce script TextColor = RGB(255, 0, 0) à d'autres pour répondre à vos besoins.


Articles relatifs:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (14)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, lorsque j'ai essayé d'utiliser vbBlue, cela n'a pas fonctionné. Aidez-moi, s'il vous plaît? Merci!
Ce commentaire a été minimisé par le modérateur sur le site
Donnez la couleur de la police à la couleur bleue exct.
Parce qu'il existe de nombreux types de bleus "bleu clair, bleu ciel, bleu foncé"
vba ne correspond qu'à la couleur exct.??????
Ce commentaire a été minimisé par le modérateur sur le site
Le code fonctionne bien si les chaînes rouges sont continues. S'ils sont séparés dans la cellule source, ils sont collés l'un à l'autre dans la cellule de sortie. Je veux dire qu'il n'y a pas d'espace dans la sortie si les chaînes de texte rouges sont éloignées les unes des autres. Pouvez-vous s'il vous plaît fournir une solution pour cela?
Ce commentaire a été minimisé par le modérateur sur le site
Hé, merci pour le tuyau. Fonctionne très bien avec le rouge et le noir.
Et si je veux analyser "Purple" ? le changer vbPurple ne fonctionne pas.
Merci
Ce commentaire a été minimisé par le modérateur sur le site
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. quel tarif possible ?
Ce commentaire a été minimisé par le modérateur sur le site
dimenticavo io ho Excel 2010
Ce commentaire a été minimisé par le modérateur sur le site
merci, code très intéressant.
Ce commentaire a été minimisé par le modérateur sur le site
Le code fonctionne bien si les chaînes rouges sont continues. S'ils sont séparés dans la cellule source, ils sont collés l'un à l'autre dans la cellule de sortie. Je veux dire qu'il n'y a pas d'espace dans la sortie si les chaînes de texte rouges sont éloignées les unes des autres. Pouvez-vous s'il vous plaît fournir une solution pour cela?
Ce commentaire a été minimisé par le modérateur sur le site
Essayez ceci, cela devrait fonctionner
Fonction GetColorText(pRange As Range) As String
'Mise à jourpourobtenirplusieurs
Dim xOut en tant que chaîne
Dim xValue en tant que chaîne
Dim i As Long
Dim wasRed As Boolean
xValeur = pPlage.Texte

Pour i = 1 Vers VBA.Len(xValeur)

Si pRange.Characters(i, 1).Font.Color = vbRed Alors
xOut = xOut & VBA.Mid(xValeur, je, 1)
wasRed = Vrai
ElseIf wasRed = True Then
étaitRouge = Faux
xSortie = xSortie & ";"
Si fin

Suivant

GetColorText = xOut
Fonction de fin

Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup, cela a parfaitement fonctionné. Tu es un sauveur Tim :-) 
Ce commentaire a été minimisé par le modérateur sur le site
Je n'arrivais toujours pas à extraire le texte bleu (#1166BB). Existe-t-il un moyen d'utiliser le Hex : #1166BB pour obtenir le texte en couleur dont j'ai besoin ?
Ce commentaire a été minimisé par le modérateur sur le site
Salut, Robert E Perez, j'ai mis à jour le code VBA, maintenant, il prend en charge l'obtention de texte coloré par code RVB. Vous pouvez réessayer le code.
Ce commentaire a été minimisé par le modérateur sur le site
J'ai un texte particulier dans une cellule séparée par une virgule et ayant une couleur pour chaque texte. Lors de l'utilisation de la fonction Delimiter, je ne parviens pas à conserver la couleur de la police du texte. Appréciez votre aide !
Ce commentaire a été minimisé par le modérateur sur le site
Salut, jdhjjd, je ne comprends pas clairement votre question. Voulez-vous extraire le texte spécifique des cellules et conserver sa couleur de police comme illustré ci-dessous ?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color.png
ou diviser les cellules et conserver chaque couleur de police de texte ?
https://www.extendoffice.com/images/stories/comments/sun-comment/split_and_keep_font_color-2.png
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés