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

Comment rechercher et remplacer du texte dans les titres des graphiques dans Excel?

Les graphiques nous sont très utiles dans Excel, et nous leur donnons souvent des titres pour les identifier. Mais avez-vous essayé de rechercher et de remplacer la valeur de texte dans les titres des graphiques dans plusieurs graphiques? Aujourd'hui, je vais expliquer comment trouver un texte spécifique dans plusieurs tuiles de graphique et les remplacer par une autre valeur dans Excel.

Rechercher et remplacer du texte dans les titres des graphiques dans Excel avec le code VBA

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 Rechercher et remplacer du texte dans les titres des graphiques dans Excel avec le code VBA


Supposons que vous ayez une feuille de calcul contenant les graphiques comme illustré ci-dessous et que vous souhaitiez remplacer le texte janvier par février dans tous les titres des graphiques uniquement. Bien sûr, vous pouvez les modifier manuellement un par un, mais cela prendra du temps s'il y a plusieurs graphiques. Alors ici, le code VBA suivant peut vous aider à gérer cette tâche. </ P>

doc-replace-chart-title1

1. Activez votre feuille de calcul qui contient les graphiques que vous souhaitez rechercher et remplacer dans leurs titres.

2. Maintenez le ALT + F11 clés, et il ouvre le Fenêtre Microsoft Visual Basic pour Applications.

3. Cliquez insérer > Moduleet collez le code suivant dans le Fenêtre du module.

Code VBA: rechercher et remplacer du texte dans les titres des graphiques dans la feuille de calcul active

Sub ChartLabelReplace()
'Update 20140603
Dim xWs As Worksheet
Dim xFindStr As String
Dim xReplace As String
xFindStr = Application.InputBox("Find:", xTitleId, "", Type:=2)
xReplace = Application.InputBox("Replace:", xTitleId, "", Type:=2)
Set xWs = Application.ActiveSheet
For Each ch In xWs.ChartObjects
    If ch.Chart.HasTitle Then
        ch.Chart.ChartTitle.Text = VBA.Replace(ch.Chart.ChartTitle.Text, xFindStr, xReplace, 1)
    End If
Next
End Sub

4. Puis appuyez F5 clé pour exécuter ce code, et une boîte de dialogue apparaîtra pour vous rappeler d'entrer votre ancien texte que vous souhaitez remplacer, voir capture d'écran:

doc-replace-chart-title1

5. Et puis cliquez OK bouton, et une autre boîte de dialogue apparaît, vous devez taper votre nouvelle valeur de texte que vous souhaitez remplacer l'ancienne, voir capture d'écran:

doc-replace-chart-title1

6. Continuez à cliquer OK pour fermer la boîte de dialogue, et vos anciens textes ont été remplacés par les nouvelles à un moment donné dans la feuille de calcul actuelle, comme illustré ci-dessous:

doc-replace-chart-title1

Notes: Si vous devez rechercher et remplacer la valeur de texte des titres de graphique dans toutes les feuilles de calcul d'un classeur, vous devez appliquer le code VBA suivant: (La procédure est la même que ci-dessus)

Code VBA: recherchez et remplacez du texte dans les titres des graphiques dans toutes les feuilles de calcul

Sub ChartLabelReplaceAllWorksheet()
'Update 20140603
Dim xFindStr As String
Dim xReplace As String
xFindStr = Application.InputBox("Find:", xTitleId, "", Type:=2)
xReplace = Application.InputBox("Replace:", xTitleId, "", Type:=2)
For Each sh In Worksheets
    For Each ch In sh.ChartObjects
        If ch.Chart.HasTitle Then
            ch.Chart.ChartTitle.Text = VBA.Replace(ch.Chart.ChartTitle.Text, xFindStr, xReplace, 1)
        End If
    Next
Next
End Sub

Articles Liés:

Comment rechercher et remplacer du texte dans les commentaires dans Excel?

Comment trouver et remplacer du texte spécifique dans plusieurs zones de texte d'Excel?

Comment modifier plusieurs chemins d'hyperliens à la fois dans Excel?


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 (6)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Celui-ci fonctionne pour moi, car sinon les variables ne sont pas déclarées : Sub ChartLabelReplace() 'Update 20141017 Dim xFindStr As String Dim xReplace As String Dim ws As Worksheet Dim ch As ChartObject xFindStr = InputBox("Find:") xReplace = InputBox( "Remplacer :") Pour chaque ws Dans les feuilles de calcul Pour chaque ch Dans ws.ChartObjects Si ch.Chart.HasTitle Alors ch.Chart.ChartTitle.Text = VBA.Replace(ch.Chart.ChartTitle.Text, xFindStr, xReplace, 1) Fin Si Suivant Suivant Fin Sous
Ce commentaire a été minimisé par le modérateur sur le site
Comment modifier la macro VBA pour n'appliquer la modification qu'aux graphiques sélectionnés (et non à tous les graphiques de la feuille de calcul) ?
Ce commentaire a été minimisé par le modérateur sur le site
Merci!!! ça m'a tellement aidé !!!
Ce commentaire a été minimisé par le modérateur sur le site
Certains de mes titres de graphique contiennent plusieurs tailles de police. Lorsque j'exécute la macro ci-dessus, elle convertit toutes les polices à la même taille et je dois revenir en arrière et les redimensionner manuellement. Existe-t-il un moyen de modifier le code VBA afin qu'il conserve les tailles de police d'origine ? (Je suis toujours un newb VBA, donc toute aide serait appréciée!)
Ce commentaire a été minimisé par le modérateur sur le site
Je veux faire cela pour le texte dans les étiquettes de légende et d'axe également. Quel est le nom VBA de la légende ? J'ai essayé de modifier le module en remplaçant "ChartTitle" par "Legend" "LegendEntry" "ChartLegend" aucun travail.
Ce commentaire a été minimisé par le modérateur sur le site
Je veux juste dire merci pour ça. M'a fait gagner des heures de temps.
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