Quand on récupère un tableau Excel de l’extérieur, il arrive très très très souvent que l’on y découvre des surprises, tant la fantaisie des utilisateurs est grande.
La plus courante est la répétition des sauts de lignes dans les cellules du fichier Excel, notamment pour les couples nom / prénom, ou les adresses, comme illustré ci-dessous.
Cette mauvaise utilisation des colonnes rend l’export vers un fichier plat de type CSV fastidieuse, et peut nécessiter un gros travail manuel pour remettre les cellules d’équerre avant de procéder à l’export des données.
Mais heureusement, il existe une solution en une ligne et un clic pour arranger ça et redresser le fichier sans fatigue.
Comment supprimer les sauts de ligne facilement dans les cellules d’excel
Excel dispose d’une fonction magique nommée EPURAGE pour réaliser cette opération. Super pratique, elle présente toutefois le défaut d’épurer un peu trop. Si l’on reprend l’exemple ci-dessus et que l’on joue avec EPURAGE pour virer les sauts de ligne dans les cellules de notre splendide fichier Excel en utilisant cette commande
=EPURAGE(A1:B2)
on se retrouve avec des lignes toutes collées et sans espace comme dans l’exemple de l’image ci-dessous :
Vous le constatez par vousmême, c’est moche, et inexploitable, surtout si l’on veut réexporter les données derrière.
En fait, ce qu’on souhaite idéalement est soit de mettre un espace entre les informations nom / prénom et adresse / code postal-ville, ou de positionner un caractère spécial pour pouvoir redécouper le texte des cellules de notre Excel en colonnes (suivez le lien pour le tuto transformer texte Excel en colonnes).
Pour faire cette modification des cellules Excel et ajouter un espace ou un caractère à la place des retours de ligne, nous allons réutiliser la fonction EPURAGE associée à la fonction SUBSTITUE qui remplace un caractère par un autre dans une chaîne.
Et c’est là que vous vous posez LA question primordiale :
Comment rechercher un saut de ligne dans Excel ?
Et bien, en utilisant Alt+010 ou, comme on est dans une fonction Excel, le CAR(10), pardi ! Il correspond au saut de ligne, c’est lui qu’on va remplacer par un pipe (touches alt GR + 6), mais vous pouvez mettre un espace si vous préférez.
Pour assembler ces deux fonctions et obtenir un résultat probant, c’est à dire supprimer les sauts de ligne dans les cellules Excel ET remplacer ces sauts de ligne par un caractère ou un espace, il vous suffit de saisir dans la barre de formule :
=EPURAGE(SUBSTITUE(A1:B2;CAR(10);"|"))
Bravo ! Vous venez d’économiser 3 heures de boulot. Vous avez le droit à un café 🙂
Kjo
Ça marche aussi si le texte est encodé en UTF8 ou en Unicode.
Cool