XL 2016 Obtenir une partie d'une chaine de caractères

  • Initiateur de la discussion Initiateur de la discussion iliess
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

iliess

XLDnaute Occasionnel
Bonjour
Je souhaite obtenir une partie d'une chaine de caractères.
voici les exemples suivants:

32036-2024/00001 0005137 379/223 ACH_OD/OV/2024/00001 =======>379/223
664-2024/00002 0004690 1642/2023 ACH_OD/OV/2024/00002 =======>1642/2023
5130-2024/00014 0005662 18/2023 ACH_OD/OV/2024/00014 =======>18/2023
6653-2024/00025 0006888 83/3501/2023 ACH_OD/ATC/2024/00001 =======>83/3501/2023
50-2024/00165 0004009 1660/2023 ACH_OD/OV/2024/00165 =======>1660/2023

je décompose ma chaine de chaine de caractère en 4 partie
1-code four 32036- =NBCAR(TEXTE(CNUM(GAUCHE(A8;TROUVE("-";A8)-1));"00000")*1) Nombre de caractères=6
2-N° de pièce 2024/00001 0005137 Nombre de caractères fixes=19
3-N° de facture 379/223 objectif souhaité
4-reference ACH_OD/OV/2024/00001 =NBCAR(STXT(A8;CHERCHE("ACH";A8);50)) Nombre de caractères=20

Merci
 

Pièces jointes

Solution
Re,
Normal, la syntaxe des deux fichiers est différente.
Dans le premier fichier votre séparateur est CAR(160), dans le second c'est l'espace (CAR(32)).
Donc votre premier fichier n'est pas représentatif. Impossible à deviner. 🙂

Essayez avec :
VB:
=STXT((STXT(A2;CHERCHE(" ";A2)+1;(CHERCHE("ACH";A2))-(CHERCHE(" ";A2)+1)));1+CHERCHE(" ";(STXT(A2;CHERCHE(" ";A2)+1;(CHERCHE("ACH";A2))-(CHERCHE(" ";A2)+1))));100)
Bonjour
Je souhaite obtenir une partie d'une chaine de caractères.
voici les exemples suivants:

32036-2024/00001 0005137 379/223 ACH_OD/OV/2024/00001 =======>379/223
664-2024/00002 0004690 1642/2023 ACH_OD/OV/2024/00002 =======>1642/2023
5130-2024/00014 0005662 18/2023 ACH_OD/OV/2024/00014 =======>18/2023
6653-2024/00025 0006888 83/3501/2023 ACH_OD/ATC/2024/00001 =======>83/3501/2023
50-2024/00165 0004009 1660/2023 ACH_OD/OV/2024/00165 =======>1660/2023

je décompose ma chaine de chaine de caractère en 4 partie
1-code four 32036- =NBCAR(TEXTE(CNUM(GAUCHE(A8;TROUVE("-";A8)-1));"00000")*1) Nombre de caractères=6
2-N° de pièce 2024/00001 0005137 Nombre de caractères fixes=19
3-N° de facture 379/223 objectif souhaité
4-reference ACH_OD/OV/2024/00001 =NBCAR(STXT(A8;CHERCHE("ACH";A8);50)) Nombre de caractères=20

Merci
Bonjour,
Voir proposition en PJ.
Cordialement,
 

Pièces jointes

Bonjour Iliess,Vgendron,
Peut être avec :
VB:
=STXT(A2;CHERCHE(CAR(160);A2)+1;(CHERCHE("ACH";A2))-(CHERCHE(CAR(160);A2)+1))
En supposant que la syntaxe soit toujours respectée.
Bonjour M.
Merci pour votre réponse. Ça marche très bien sur le fichier démo, mais lorsque j'ai copié la formule sur mon fichier, le résultat obtenu est #VALEUR!
 

Pièces jointes

Re,
Normal, la syntaxe des deux fichiers est différente.
Dans le premier fichier votre séparateur est CAR(160), dans le second c'est l'espace (CAR(32)).
Donc votre premier fichier n'est pas représentatif. Impossible à deviner. 🙂

Essayez avec :
VB:
=STXT((STXT(A2;CHERCHE(" ";A2)+1;(CHERCHE("ACH";A2))-(CHERCHE(" ";A2)+1)));1+CHERCHE(" ";(STXT(A2;CHERCHE(" ";A2)+1;(CHERCHE("ACH";A2))-(CHERCHE(" ";A2)+1))));100)
 

Pièces jointes

Re,
Normal, la syntaxe des deux fichiers est différente.
Dans le premier fichier votre séparateur est CAR(160), dans le second c'est l'espace (CAR(32)).
Donc votre premier fichier n'est pas représentatif. Impossible à deviner. 🙂

Essayez avec :
VB:
=STXT((STXT(A2;CHERCHE(" ";A2)+1;(CHERCHE("ACH";A2))-(CHERCHE(" ";A2)+1)));1+CHERCHE(" ";(STXT(A2;CHERCHE(" ";A2)+1;(CHERCHE("ACH";A2))-(CHERCHE(" ";A2)+1))));100)
Totalement raison, M.sylvanu
Oui, ça marche très bien.
Mille merci.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour