Separation de 2 chaines de caracteres d'une cellule

BeninBkk

XLDnaute Nouveau
Bonjour le forum,

Petit probleme qui me fait tourner en boucle depuis un moment..

J'aimerai separer 2 chaines de caracteres d'une cellule, dans 2 cellules. (voir fichier ci-joint->surement plus explicite).

Avec la fonction LEFT seule ou combinaison de LEFT + FIND, je recupere la premiere partie (code) sans probleme, mais quand ensuite je dois recuperer le texte, je n'y arrive plus...

Ca ne me pose pas de probleme de devoir le faire en 2 temps, cad recuperer le code d'abord, puis avec une autre formule, recuperer le texte... mais je bloque sur la recuperation du texte.

Quand j'ai 10 lignes, ce n'est pas tres grave, je le fait manuellement, mais quand j'en ai 70.000, ca m'embete un peu :)

Si quelqu'un peu me filer un coup de main, c'est sympa.
Merci

Cordialement
Ben
 

Pièces jointes

  • Extract de chaine.xls
    23.5 KB · Affichages: 59

Gurgeh

XLDnaute Occasionnel
Re : Separation de 2 chaines de caracteres d'une cellule

Salut BeninBkk,

En supposant que tes données sont toujours de la forme code sur 15 caractères + espace + texte, je te propose les formules suivantes :
=GAUCHE(A4;15) pour récupérer le code
=DROITE(A4;NBCAR(A4)-16) pour récupérer le texte

Gurgeh
 

pijaku

XLDnaute Occasionnel
Re : Separation de 2 chaines de caracteres d'une cellule

Bonjour,

Une solution par formule.
Par étape :
1- il nous faut trouver le caractère qui sépare la partie gauche de la partie droite. Dans ton cas le premier espace.
La fonction CHERCHE (en Excel anglais : SEARCH) va nous retourner le n° du caractère cherché, ici l'espace :
=CHERCHE(" ";A2) nous renvoie 16 dans le cas : 18014_11_01_001 SKI DE RETOURNEMENT
2- partie gauche :
Sachant cela, il nous est aisé de retirer la partie gauche :
=GAUCHE(A2;CHERCHE(" ";A2)-1)
En Anglais : =LEFT(A2;SEARCH(" ";A2)-1)
3- partie droite
Le nombre de caractères à extraire est égal à :
(nombre total de caractères) - (le numéro de l'espace) soit :
NBCAR(A2)-CHERCHE(" ";A2)
(en Anglais, NBCAR = LEN)
Par conséquent la formule pour la partie droite devient :
=DROITE(A2;NBCAR(A2)-CHERCHE(" ";A2))
En Anglais : =RIGHT(A2;LEN(A2)-SEARCH(" ";A2))
 

pijaku

XLDnaute Occasionnel
Re : Separation de 2 chaines de caracteres d'une cellule

Re-
En y repensant, 70 000 lignes tout de même....
Une solution hyper rapide et relativement précise :
Les données initiales en colonne A, le résultat en colonne A et B :
- Sélectionner toute la colonne A en cliquant sur son entête,
- Données/Convertir
- choisir : Largeur fixe
- Suivant
- vous pouvez maintenant déplacer la petite barre verticale, afin de délimiter correctement la séparation des données
- terminer
A tester...
 

BeninBkk

XLDnaute Nouveau
Re : Separation de 2 chaines de caracteres d'une cellule

Salut Pijaku,

Merci pour la formule, c'est exactement ca.. =RIGHT(A2;LEN(A2)-SEARCH(" ";A2). Il faut simplement que je mette des , a la place des ;
Il me faut plus de pratique pour arriver a trouver les soluces par moi meme maintenant.


Merci bien pour le temps consacrer a mon probleme
Bonne journee
Ben

Bonjour,

Une solution par formule.
Par étape :
1- il nous faut trouver le caractère qui sépare la partie gauche de la partie droite. Dans ton cas le premier espace.
La fonction CHERCHE (en Excel anglais : SEARCH) va nous retourner le n° du caractère cherché, ici l'espace :
=CHERCHE(" ";A2) nous renvoie 16 dans le cas : 18014_11_01_001 SKI DE RETOURNEMENT
2- partie gauche :
Sachant cela, il nous est aisé de retirer la partie gauche :
=GAUCHE(A2;CHERCHE(" ";A2)-1)
En Anglais : =LEFT(A2;SEARCH(" ";A2)-1)
3- partie droite
Le nombre de caractères à extraire est égal à :
(nombre total de caractères) - (le numéro de l'espace) soit :
NBCAR(A2)-CHERCHE(" ";A2)
(en Anglais, NBCAR = LEN)
Par conséquent la formule pour la partie droite devient :
=DROITE(A2;NBCAR(A2)-CHERCHE(" ";A2))
En Anglais : =RIGHT(A2;LEN(A2)-SEARCH(" ";A2))
 

Discussions similaires

Statistiques des forums

Discussions
312 115
Messages
2 085 447
Membres
102 889
dernier inscrit
monsef JABBOUR