Mel veut souvent prépendre un caractère au début de ce qui se trouve dans une plage de cellules. Par exemple, il peut vouloir ajouter une lettre au début d’un texte (ainsi «123» devient «A123» et «xyz» devient «Axyz») ou il peut vouloir ajouter une apostrophe (donc «123» devient «» 123 « et » xyz « 

devient » ‘xyz « ). Mel se demande si cela peut être fait en utilisant Rechercher et remplacer.

La réponse courte est que non. Les fonctionnalités de recherche et de remplacement d’Excel sont plus limitées que celles de Word, où vous avez la possibilité de rechercher des caractères génériques et d’utiliser le texte « Rechercher » dans ce qui est remplacé. (Ce ne sont que deux exemples de fonctionnalités manquantes dans la recherche et le remplacement d’Excel.)

Une réponse potentielle consiste donc à copier vos données dans Word, à utiliser Rechercher et remplacer pour apporter les modifications, puis à recopier les données. Bien sûr, vous courez le risque de perdre votre mise en forme dans l’aller-retour, de perdre une partie de votre précision et de convertir tous vos résultats de formule en valeurs statiques. Pour de nombreux utilisateurs, ce ne sont pas des risques acceptables.

Une autre option consiste à utiliser les capacités de concaténation d’Excel. Par exemple, si les valeurs que vous souhaitez prépendre sont dans la colonne A (commençant par A1), vous utiliseriez une formule telle que celle-ci est la colonne B:

="A" & A1

Le résultat fait précéder la lettre A de ce qui se trouve dans A1. Cela fonctionne pour tout ce qui est en attente sauf une apostrophe. Essayer de pré-suspendre une apostrophe se termine par «123 ou» xyz, mais l’apostrophe est visible dans la cellule. Le résultat n’est pas le même, pour Excel, que de taper une apostrophe suivie de 123 ou une apostrophe suivie de xyz. (Dans le cas de la saisie, l’apostrophe indique que le contenu de la cellule doit être traité comme du texte et l’apostrophe n’est visible que dans la barre de formule, pas dans la cellule elle-même.)

Si vous souhaitez réellement modifier les valeurs d’une série de cellules (ce que suggérerait le désir d’utiliser Rechercher et remplacer), la seule chose que vous pouvez faire est d’utiliser une macro pour effectuer vos modifications. Si vous souhaitez uniquement pré-suspendre les cellules commençant par une valeur définie (telle que 123) avec une lettre (telle que A), une simple macro suffira.

Sub Prepend1()

ToFind = "123"

ToFindLength=Len(ToFind)

ToPrepend = "A"



For Each rcell In Selection         If LCase(Mid(rcell.Value, 1, ToFindLength)) =  LCase(ToFind) Then             rcell.Value = ToPrepend & rcell.Value         End If     Next End Sub

Notez que la variable ToFind contient le texte de début que vous souhaitez prépendre et que la variable ToPrepend contient ce que vous souhaitez voir apparaître avant cette chaîne. Dans ce cas, lorsque vous sélectionnez une plage de cellules et exécutez la macro, tout ce qui commence par 123 (comme « 123 » ou « 12345 »

ou « 123D27X ») aura la lettre A ajoutée au début de la cellule.

Une telle macro n’aide cependant pas lorsque vous souhaitez ajouter la lettre au début de chaque cellule de la plage, pas seulement celles commençant par 123.

Dans ce cas, vous avez besoin d’une approche différente.

Sub Prepend2()

Dim rng As Range     Dim c As Range     Dim ToPrepend As String

ToPrepend = "A"



' Process only text and number constants     Set rng = Selection.SpecialCells(xlCellTypeConstants, 3)



For Each c In rng         c.Value = ToPrepend & c.Value     Next c End Sub

Cette macro prend un sous-ensemble des cellules que vous avez sélectionnées avant de l’exécuter (uniquement les cellules contenant du texte et des valeurs numériques), puis ajoute le contenu de la variable ToPrepend au début de la cellule. Si vous voulez changer ce qui est pré-suspendu, changez simplement la valeur de la variable. (Il convient de noter que si vous remplacez ToPrepend par une apostrophe, les cellules auxquelles l’apostrophe est pré-suspendue se comportent exactement comme si vous aviez tapé et l’apostrophe suivie de la valeur de la cellule.)

_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 (3883) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Using_Find_and_Replace_to_Pre-Pend_Characters [Utilisation de Find and Replace pour pré-suspendre les caractères].