Recherche et remplacement dans les zones de texte (Microsoft Excel)
David se demande s’il est possible d’utiliser Rechercher et remplacer pour localiser et modifier du texte dans des zones de texte ou dans des étiquettes dans des graphiques. La réponse courte est que ce n’est pas possible, mais il existe plusieurs solutions de contournement que vous pouvez essayer.
Tout d’abord, vous pouvez facilement rendre le texte de vos zones de texte ou de vos étiquettes de graphique dynamique, de sorte qu’il soit lié au contenu de certaines cellules de feuille de calcul. Par exemple, vous pouvez effectuer les opérations suivantes pour vos zones de texte:
-
Copiez votre texte de chacune des zones de texte dans une plage de cellules de votre feuille de calcul. (Pour cet exemple, supposons que vous ayez copié le contenu de dix zones de texte dans la plage Z1: Z10.)
-
Sélectionnez la première zone de texte (celle qui correspond à la cellule Z1) et supprimez le contenu de la zone de texte.
-
Avec la zone de texte toujours sélectionnée, entrez ce qui suit dans la barre de formule: = Z1. Lorsque vous appuyez sur Entrée, la zone de texte doit refléter ce qui se trouve dans la cellule Z1.
-
Répétez les étapes 2 et 3 pour chacune de vos autres zones de texte, en utilisant la référence de cellule appropriée pour chacune à l’étape 3.
C’est ça. Vous pouvez utiliser la même technique avec les étiquettes de graphique personnalisées. Il vous suffit de sélectionner l’étiquette de graphique et de saisir une référence de cellule dans la barre de formule. Les zones de texte et les étiquettes de graphique étant liées aux cellules de la feuille de calcul, vous pouvez facilement utiliser Rechercher et remplacer pour rechercher et modifier des informations dans les cellules. Lorsque les modifications sont apportées, les zones de texte et les étiquettes de graphique doivent automatiquement refléter les modifications dans les cellules.
La seule façon de modifier réellement le texte dans une zone de texte ou une étiquette de graphique consiste à le modifier manuellement ou à le modifier à l’aide d’une macro. Le code doit parcourir chaque zone de texte de la feuille de calcul, puis effectuer votre modification. Ce qui suit est une version simple d’une macro qui peut apporter une telle modification.
Sub TextBoxReplace() Dim shp As Shape Dim sOld As String Dim sNew As String 'Change as desired sOld = "Old string" sNew = "New string" On Error Resume Next For Each shp In ActiveSheet.Shapes With shp.TextFrame.Characters .Text = Application.WorksheetFunction.Substitute( _ .Text, sOld, sNew) End With Next End Sub
Cette macro parcourt toutes les formes de la feuille de calcul (les zones de texte sont des formes), puis remplace tout ce qui se trouve dans la variable sOld par ce qui se trouve dans la variable sNew. L’application de la même technique aux étiquettes des graphiques n’est qu’un peu plus complexe, comme le montre la macro suivante:
Sub ChartLabelReplace() Dim Cht As ChartObject Dim Ser As Series Dim scPt As Point Dim sOld As String Dim sNew As String 'Change as desired sOld = "Old String" sNew = "New String" On Error Resume Next For Each Cht In ActiveSheet.ChartObjects For Each Ser In Cht.Chart.SeriesCollection For Each scPt In Ser.Points With scPt.DataLabel .Text = Application.WorksheetFunction.Substitute( _ .Text, sOld, sNew) End With Next Next Next End Sub
La macro parcourt chaque étiquette de données pour chaque série de données sur chaque graphique et remplace (à nouveau) toutes les instances de ce qui se trouve dans sOld par ce qui se trouve dans sNew.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (9264) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Finding_and_Replacing_in_Text_Boxes [Recherche et remplacement dans les zones de texte]
.