Placement du texte de la zone de texte dans une feuille de calcul (Microsoft Excel)
Excel vous permet de placer toutes sortes d’objets graphiques sur votre feuille de calcul. Un type d’objet graphique contient en fait du texte: une zone de texte.
Si vous avez plusieurs zones de texte dans une feuille de calcul, vous vous demandez peut-être s’il existe un moyen d’extraire le texte de chaque zone de texte et de le placer dans la feuille de calcul elle-même.
Il n’y a aucune commande pour faire cela; vous devez à la place utiliser une macro. La macro suivante parcourt chaque zone de texte dans une feuille de calcul et effectue l’extraction souhaitée:
Sub ExtractText() Dim shp As Shape Dim sLoc As String For Each shp In ActiveSheet.Shapes With shp If Left(.Name, 8) = "Text Box" Then sLoc = .TopLeftCell.Address Do Until Range(sLoc) = "" sLoc = Range(sLoc).Offset(1, 0).Address Loop Range(sLoc) =.TextFrame.Characters.Text .Delete End If End With Next End Sub
Étant donné qu’Excel stocke toutes les formes graphiques dans la collection Shapes, vous pouvez parcourir la collection et déterminer les formes avec lesquelles vous souhaitez travailler. Dans ce cas, les huit premiers caractères du nom de la forme sont vérifiés. Ce n’est que si le nom commence par « Zone de texte » que la macro considère la forme comme une zone de texte à partir de laquelle le texte peut être extrait.
Plutôt que de vérifier le libellé « Zone de texte » dans le nom, la macro pourrait également vérifier le type de forme considéré. Si vous préférez faire cela, remplacez simplement la ligne de test (If Left …) par la ligne de test suivante:
If shp.Type = msoTextBox Then
La variable sLoc est utilisée pour stocker l’emplacement de la zone de texte, qui est contenue dans la propriété .TopLeftCell. Une boucle Do est ensuite utilisée pour s’assurer que la cellule pointée par l’adresse est vide. (Cela empêche tout contenu existant de la cellule d’être écrasé.) S’il n’est pas vide, l’adresse est « incrémentée » dans la cellule suivante de la colonne.
Une fois l’adresse d’une cellule vide déterminée, le texte de la zone de texte est stocké dans la cellule. La méthode .Delete est ensuite utilisée pour se débarrasser de la zone de texte réelle.
_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 (11631) 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-Placing_Textbox_Text_Into_a_Worksheet [Placer le texte de la zone de texte dans une feuille de travail]
.