Lorsque l’on manipule des champs de texte sur Excel, il arrive souvent que le texte ne soit pas bien réparti entre les cellules. On a donc souvent besoin soit de fusionner 2 cellules de texte en une seule, soit de séparer une cellule de texte en 2 cellules distinctes. Je vous montre tout de suite comment faire :
Comment fusionner le texte de 2 cellules en une seule cellule
Pour cela nous allons utiliser la formule très pratique CONCATENER. Cela signifie tout simplement mettre a bout 2 chaines de caractères.
=CONCATENER(B4; » « ;C4)
- La fonction concatener prend autant d’arguments que vous voulez, vous pouvez donc mettre à la suite 2, 3 ou 10 cellules si vous le souhaitez
- Dans notre exemple, on considère en fait 3 chaines de caractères, en insérant la chaine » » pour plus de lisibilité du résultat
Comment séparer le texte d’une seule cellule en plusieurs cellules
Plus difficile maintenant, comment séparer le texte de part et d’autre d’un espace?
Pour cela nous avons besoin d’isoler l’endroit ou se trouve l’espace dans la chaine de caractères grace à la fonction CHERCHE:
=CHERCHE( » « ;B7)
Notez que l’on va utiliser l’espace comme séparateur mais cela marche avec l’importe quel caractères (par exemple « / » si vous travaillez sur des URLs)
Maintenant que l’on sait localiser l’espace au caractère 5, il suffit de demander à Excel de prendre les 4 premieres caractères à gauche de la cellule pour avoir la première partie du mot.
On utilise pour cela la fonction GAUCHE
=GAUCHE(B7;CHERCHE( » « ;B7)-1)
Pour la seconde partie du mot, il faut rajouter une étape. Il faut dire à Excel de prendre les caractères en partant de la droite, et de prendre tous les caractères sauf les 5 premiers.
On calcule donc la longueur de la chaine avec la fonction NBCAR
=NBCAR(B7)
Et on retourne la seconde partie de la cellule à séparer grace à la formule DROITE
=DROITE(B7;NBCAR(B7)-CHERCHE( » « ;B7))
Isoler le texte entre 2 espaces
Encore plus avancé, imaginons que l’on souhaite isoler seulement un texte au milieu d’un texte avec plusieurs espaces. Comment s’y prendre?
Par exemple dans la phrase « AM STRAM GRAM »
Pour cela nous allons d’abord utiliser la fonction CHERCHE pour trouver la place des 2 espaces dans la phrase.
Le premier est à l’index 3 : =CHERCHE( » « ;B20)
Le second est à l’index 9 : =CHERCHE( » « ;B20;CHERCHE( » « ;B20)+1) soit encore=CHERCHE( » « ;B20;4)
On utilise le 2nd argument de la fonction CHERCHE, qui permet de ne pas commencer à chercher depuis le début mais à partir d’un certain caractère. Ici on commence au caractère d’après le premier espace, c’est à dire le caractère 4.
Enfin pour renvoyer l’extrait de texte qui nous intéresse, nous allons utiliser la formule STXT
La syntaxe de cette formule est =STXT(texte; début; nombre de caractères)
Dans notre cas , on veut donc renvoyer =STXT(B20;4;6). Attention, on commence après l’espace, donc au caractère 4 et non 3.
En combinant les différentes formules, on obtient une bonne formule indigeste comme on les aime =STXT(B20;CHERCHE( » « ;B20)+1;CHERCHE( » « ;B20;CHERCHE( » « ;B20)+1)-CHERCHE( » « ;B20))