Extraire une chaine de caractère à partir d'une borne

Enzo051175 Messages postés 2 Statut Membre -  
Willzac Messages postés 281 Statut Membre -

Bonjour,

sur mon export client, j'ai une cellule dans laquelle sont concatener les infos de nom client, de numéro de commande, numéro de facture etc...

Je souhaite pouvoir extraire ces informations la pour les mettre chacune dans une cellule, en sachant que chacune de ces infos sont dans des ordres variables dans la cellule initiale, mais que ces infos debutent par une chaine de caractère spécifique. ex : le numéro de facture débute par VF, les commandes ar VC, le nom client par "Débiteur :"

ex :  Debiteur: KER CLARA | Info Compl: CLIENT C0011395 | Libelle: CLIENT C0011395 | Reference: VF 40052311

merci pour votre aide
Windows / Edge 120.0.0.0

A voir également:

4 réponses

jee pee Messages postés 42369 Statut Modérateur 9 736
 

Avec le texte en A1, on pourrait extraire les 4 données dans 4 cellules avec les formules suivantes :

=STXT(A1;CHERCHE("Debiteur: ";A1;1)+10;CHERCHE("|";A1&"| ";CHERCHE("Debiteur: ";A1;1))-(CHERCHE("Debiteur: ";A1;1)+10))
=STXT(A1;CHERCHE("Info Compl: CLIENT ";A1;1)+19;CHERCHE("|";A1&"| ";CHERCHE("Info Compl: CLIENT ";A1;1))-(CHERCHE("Info Compl: CLIENT ";A1;1)+19))
=STXT(A1;CHERCHE("Libelle: CLIENT ";A1;1)+16;CHERCHE("|";A1&"| ";CHERCHE("Libelle: CLIENT ";A1;1))-(CHERCHE("Libelle: CLIENT ";A1;1)+16))
=STXT(A1;CHERCHE("Reference: VF ";A1;1)+14;CHERCHE("|";A1&"| ";CHERCHE("Reference: VF ";A1;1))-(CHERCHE("Reference: VF ";A1;1)+14))

0
danielc0 Messages postés 1940 Statut Membre 237
 

Bonjour,

Avec Excel 365, texte en A1 :

=TEXTE.AVANT(TEXTE.APRES(A1&" |";"Debiteur: ");" |")

=TEXTE.AVANT(TEXTE.APRES(A1&" |";"Info Compl: CLIENT ");" |")

=TEXTE.AVANT(TEXTE.APRES(A1&" |";"Libelle: CLIENT ");" |")

=TEXTE.AVANT(TEXTE.APRES(A1&" |";" Reference:");" |")

Daniel


0
jee pee Messages postés 42369 Statut Modérateur 9 736
 

J'espère que ces 2 fonctions seront reprises dans un futur Office 2024 ;-)

0
danielc0 Messages postés 1940 Statut Membre 237
 

Espérons-le. Ca simplifie bien les choses, et il y en a bien d'autres.

Daniel


0
Willzac Messages postés 281 Statut Membre 14
 

Bonjour,

Voici ma participation,

Supposons que vous avez votre exemple dans la cellule A1,

Ceci est a mettre là où vous voulez avoir les informations entre ":" et "|"

=TRANSPOSE(CHOISIRCOLS(FRACTIONNER.TEXTE(A1;":";"|");2))

Cordialement


0
jee pee Messages postés 42369 Statut Modérateur 9 736
 

CHOISIRCOLS n'existe pas dans mon Excel 2021, ni FRACTIONNER.TEXTE

Après il faut noter que le texte ne se termine pas par le séparateur |

Et surtout qu'il est indiqué que les zones peuvent apparaitre dans un ordre variable, donc il faut utiliser l'identifiant de zone, pas juste séparer les champs.

0
Willzac Messages postés 281 Statut Membre 14 > jee pee Messages postés 42369 Statut Modérateur
 

J'ai oublié de préciser que j'utiliser office 365.

C'est juste une approche, on peut aussi trier ou les ranger si on veut, mais ce serait avec office 365. 

=trier()

ou 

=Choisircols()

Cordialement

0