La plupart des guides sur la division de texte dans Excel supposent que vos données comportent une virgule, un espace ou un pipe bien placé pour séparer chaque valeur. Mais que faire lorsqu'il n'y a aucun délimiteur ? Peut-être travaillez-vous avec des codes à largeur fixe, des identifiants concaténés ou des données exportées depuis un système ancien qui rassemble tout sans séparation. La bonne nouvelle, c'est que les formules de texte intégrées d'Excel gèrent très bien cette situation.
Pourquoi la division sans délimiteur est plus complexe
Lorsque vous divisez du texte à l'aide d'un délimiteur, Excel sait exactement où une valeur se termine et où la suivante commence. Sans délimiteur, vous vous appuyez sur la position et la longueur des caractères. Cela signifie que vous devez connaître (ou pouvoir calculer) l'emplacement de début de chaque segment de données et le nombre de caractères qu'il contient.
Cette approche est appelée analyse à largeur fixe, et elle est courante dans la finance, la logistique et tout domaine qui exporte des données depuis des systèmes de type mainframe.
Les formules essentielles : GAUCHE, STXT et DROITE
Ces trois fonctions sont vos outils principaux. Chacune extrait une portion d'une chaîne de texte en fonction de la position des caractères.
| Formule | Ce qu'elle fait | Syntaxe |
|---|---|---|
| GAUCHE | Extrait des caractères depuis le début d'une chaîne | =GAUCHE(texte, nb_car) |
| STXT | Extrait des caractères à partir d'une position spécifique | =STXT(texte, no_départ, nb_car) |
| DROITE | Extrait des caractères depuis la fin d'une chaîne | =DROITE(texte, nb_car) |
Un exemple pratique
Supposons que vous ayez un code produit dans la cellule A1 qui ressemble à ceci : ABC04512NY. Les trois premiers caractères représentent la catégorie du produit, les cinq suivants le numéro SKU, et les deux derniers le code de l'État. Voici comment diviser ce texte avec des formules :
- Catégorie : =GAUCHE(A1, 3) renvoie "ABC"
- SKU : =STXT(A1, 4, 5) renvoie "04512"
- État : =DROITE(A1, 2) renvoie "NY"
Chaque formule cible une tranche spécifique de la chaîne par position de départ et longueur. Tant que vos données suivent une structure cohérente, cela fonctionne parfaitement à chaque fois.
Astuce : Si vos champs à largeur fixe varient légèrement en longueur, utilisez la fonction NBCAR pour calculer dynamiquement les caractères restants. Par exemple, =STXT(A1, 4, NBCAR(A1)-5) extrait tout ce qui se trouve entre les 3 premiers et les 2 derniers caractères, quelle que soit la longueur totale de la chaîne.
Quand la largeur n'est pas constante
Parfois, les données n'ont pas une largeur parfaitement fixe, mais elles ne comportent toujours aucun délimiteur. Dans ces cas, vous devez souvent combiner GAUCHE, STXT et DROITE avec des fonctions auxiliaires comme TROUVE, CHERCHE ou NBCAR. Celles-ci vous permettent de localiser un motif connu (comme un nombre commençant à un certain endroit) et de l'utiliser comme référence.
Par exemple, si vous savez qu'un segment numérique commence toujours au caractère 4 mais se termine à une position variable, TROUVE peut localiser le premier caractère non numérique pour déterminer le point de fin.
Utiliser le Remplissage instantané comme alternative rapide
Si vous utilisez Excel 2013 ou une version ultérieure, le Remplissage instantané (Flash Fill) mérite d'être essayé avant d'écrire la moindre formule. Tapez simplement la valeur souhaitée dans la première cellule à côté de vos données, puis appuyez sur Ctrl+E. Excel tentera de détecter le motif et de remplir automatiquement le reste.
Ce n'est pas toujours fiable avec des motifs complexes, mais pour des divisions simples à largeur fixe, cela peut vous faire gagner plusieurs minutes d'écriture de formules.
Points clés
- Diviser du texte dans Excel sans délimiteur repose sur la position et la longueur des caractères, et non sur un caractère séparateur.
- Les formules GAUCHE, STXT et DROITE sont les outils essentiels pour ce type d'analyse de texte à largeur fixe.
- Combinez-les avec NBCAR ou TROUVE lorsque les largeurs de champs ne sont pas parfaitement cohérentes dans votre jeu de données.
- Le Remplissage instantané (Ctrl+E) est une option rapide sans formule pour les motifs simples dans les versions récentes d'Excel.
- Si vos données comportent des délimiteurs et que vous devez convertir entre différents formats, un convertisseur de délimiteurs en ligne peut s'en charger avant d'importer les données dans Excel.
Préparer vos données au préalable
Avant de commencer à écrire des formules, il est utile de nettoyer vos données sources. Des espaces superflus, une casse incohérente ou des caractères masqués peuvent fausser complètement l'analyse basée sur la position. Un passage rapide avec SUPPRESPACE et EPURAGE dans Excel élimine la plupart des problèmes courants.
Si vous travaillez avec de gros fichiers texte avant de les importer dans Excel, des outils comme un éditeur de texte gratuit en ligne peuvent vous aider à inspecter et nettoyer les données au préalable. Vous pouvez également utiliser un compteur de caractères pour vérifier rapidement que vos champs à largeur fixe ont bien la longueur attendue.
Diviser du texte sans délimiteur dans Excel n'est pas aussi intimidant qu'il y paraît. Une fois que vous comprenez que GAUCHE, STXT et DROITE consistent simplement à choisir des points de départ et des longueurs, le reste coule de source. Commencez simplement, testez sur une seule ligne, puis appliquez vos formules à l'ensemble du jeu de données.