Ciaran travaille dans une bibliothèque et doit souvent travailler avec de longues listes de numéros ISBN dans Excel. Les nombres doivent contenir 10 ou 13 chiffres, peuvent contenir des tirets et peuvent avoir des zéros non significatifs. Il utilise le format texte pour les cellules contenant des ISBN afin de les conserver intactes sous forme de chaînes de texte. À certaines fins, les tirets dans les ISBN doivent être supprimés (il utilise Rechercher et remplacer pour cela) et c’est là que le problème commence.

0-241-95011-2 devient 241950112 (maintenant il est passé à 9 chiffres), et pire, 978-0-00-200784-9 devient 9.78E + 12 (notation scientifique). Ciaran ne trouve aucun moyen de contourner ces deux problèmes, peu importe ce qu’il fait avec le formatage avant ou après l’utilisation de Rechercher et remplacer pour se débarrasser des tirets.

Ce qui se passe, c’est que lorsque vous modifiez les cellules, Excel analyse le contenu des cellules sous forme de nombres au lieu de texte. Dans ce cas, la meilleure solution consiste à vous assurer que le contenu de votre cellule est précédé d’une apostrophe avant d’effectuer la recherche et le remplacement pour éliminer les tirets.

Si vous avez une feuille de calcul qui contient beaucoup de numéros ISBN dans la colonne A, vous pouvez ajouter les apostrophes avec une formule telle que la suivante:

= "'" & A1

Vous pouvez ensuite copier les résultats des formules, puis utiliser Collage spécial pour coller les valeurs dans la colonne A. Chaque valeur de la colonne A inclura alors l’apostrophe. Lorsque vous effectuez ultérieurement la recherche et le remplacement, les zéros non significatifs seront toujours présents et vous n’obtiendrez aucune tentative de notation scientifique.

La raison pour laquelle cela fonctionne est que l’apostrophe est un indicateur pour Excel que le contenu de la cellule doit être traité comme du texte. L’apostrophe n’est pas affichée dans la feuille de calcul, mais elle fait partie du contenu de la cellule, comme vous pouvez le voir en regardant la barre de formule.

Une autre approche consiste à contourner l’utilisation de Find and Replace pour se débarrasser des tirets. Utilisez plutôt la fonction SUBSTITUTE pour les supprimer, de cette manière:

=SUBSTITUTE(A1,"-","")

La fonction de feuille de calcul SUBSTITUTE renvoie une valeur de texte, de sorte que tous les zéros non significatifs sont conservés et Excel n’essaie pas de convertir les nombres pour utiliser un format numérique.

Si vous avez régulièrement besoin de supprimer les tirets d’une plage de cellules contenant des ISBN, il est préférable d’utiliser une macro pour effectuer l’opération. La macro suivante fonctionne sur toutes les cellules que vous avez sélectionnées avant de l’exécuter.

Sub RemoveDashes()

Dim c As Variant, sISBN As String

For Each c In Selection         sISBN = Application.Substitute(c, "-", "")

c.NumberFormat = "@"

c.Value = "'" & sISBN     Next End Sub

Fondamentalement, la macro fait trois choses: elle supprime les tirets, elle met en forme la cellule sous forme de texte et elle replace l’ISBN supprimé dans la cellule avec une apostrophe devant 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 (9927) 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-Removing_Dashes_from_ISBN_Numbers [Suppression des tirets des numéros ISBN].