Extraire une chaine de caractère de la droite jusqu'au caractère "-"

waikiki42

XLDnaute Nouveau
Bonjour,

J'ai parcouru le forum mais je n'ai pas trouvé de solutions à mon problème.
J'ai un fichier avec des infos dans les différentes colonnes.

Je souhaiterai extraire de la cellule A1 la chaine de caractère de la droite jusqu'au premier "-" (il y en a plusieurs dans la cellule) et extraire le restant donc de la gauche jusqu'au dernier "-"

Ex : Contenu de la cellule A1 "résultats - janvier - 50 kilos", j'aimerai extraire "50 kilos" et "résultats - janvier",

le seul souci c'est que le "-" ne se situe jamais au même endroit et qu'il n'y en a jamais le même nombre

Si l'un d'entre vous à une solution ....

Waikiki
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Extraire une chaine de caractère de la droite jusqu'au caractère "-"

Bonsoir à tous


En adaptant les solutions de ce fil, tu devrais t'en sortir, non ? ;)
https://www.excel-downloads.com/thr...de-caracteres-aleatoires-dune-cellule.196797/

Allz, comme j'ai un peu de temps devant moi, je t'adapte une des formule de R@chid (que je salue au passage) ;)
Code:
=SUPPRESPACE(DROITE(A2;NBCAR(A2)-TROUVE("*";SUBSTITUE(A2;"-";"*";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"-";""))))))

(PS: j'ai testé sur mon PC, cela fonctionne ;))
 
Dernière édition:

waikiki42

XLDnaute Nouveau
Re : Extraire une chaine de caractère de la droite jusqu'au caractère "-"

Bonjour Staple1600

Merci de ta rapidité, ta formule fonctionne au poil merci !!
Si je peux abuser un peu encore est ce que je peux l'adapter pour extraire tout ce qui est avant le dernier "-" ??

Merci
 

waikiki42

XLDnaute Nouveau
Re : Extraire une chaine de caractère de la droite jusqu'au caractère "-"

Oui, je sais bien mais pour le bon fonctionnement de mon fichier il faudrait que je scinde ma cellule en 2 cellule via des formules

(C'est des tableaux qui nous générons une dizaine de fois par jour), le formule a le gros avantage de ne pas demander de manipulation

Merci tout de même de ta réponse
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Extraire une chaine de caractère de la droite jusqu'au caractère "-"

Bonsoir,

=DROITE(A1;EQUIV("-";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0))
Valider avec Maj+ctrl+entrée


>le seul souci c'est que le "-" ne se situe jamais au même endroit et qu'il n'y en a jamais le même nombre


Le mois est-il toujours l'avant-dernier?

JB
 
Dernière édition:

waikiki42

XLDnaute Nouveau
Re : Extraire une chaine de caractère de la droite jusqu'au caractère "-"

Bonsoir BOISGONTIER,

Ce qui contient la cellule n'est pas une date mais seulement du texte, dsl si mon exemple est farfelu en voici un autre

EX 1 : "Machine 1 - CENTRE - 20 PIECES", je veux obtenir dans une cellule "20 PIECES" et dans l'autre ""Machine 1 - CENTRE"
EX 2 : "Machine 2 - 30 PIECES" , je veux obtenir dans une cellule "30 PIECES" et dans l'autre ""Machine 2"
EX 3 : "Machine 3 - CENTRE - SOIR - 20 PIECES", je veux obtenir dans une cellule "20 PIECES" et dans l'autre ""Machine 3 - CENTRE - SOIR"

La formule de Staple1600 fonctionne à merveille pour la partie de droite, i ne manque plus que l'extraction de gauche
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Extraire une chaine de caractère de la droite jusqu'au caractère "-"

Voir PJ

Partie droite
=DROITE(A1;EQUIV("-";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0))
Valider avec maj+ctrl+entrée

Gauche
=GAUCHE(A1;NBCAR(A1)-EQUIV("-";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)-1)
Valider avec maj+ctrl+entrée

JB
 

Pièces jointes

  • Classeur1.xls
    24 KB · Affichages: 54
  • Classeur1.xls
    24 KB · Affichages: 58
  • Classeur1.xls
    24 KB · Affichages: 53
Dernière édition:

waikiki42

XLDnaute Nouveau
Re : Extraire une chaine de caractère de la droite jusqu'au caractère "-"

je viens de trouver pour la partie gauche

=STXT(A1;1;NBCAR(A1)-EQUIV("-";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)-3)

Valider avec maj+ctrl+entrée

Merci à tous pour votre aide
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Extraire une chaine de caractère de la droite jusqu'au caractère "-"

=DROITE(A1;EQUIV("-";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)) (#8)

est +simple que

=SUPPRESPACE(DROITE(A1;NBCAR(A1)-TROUVE("*";SUBSTITUE(A1;"-";"*";NBCAR(A1)-NBCAR(SUBSTITUE(A1;"-";""))))))

JB
 
Dernière édition:

waikiki42

XLDnaute Nouveau
Re : Extraire une chaine de caractère de la droite jusqu'au caractère "-"

Allez j'ose,

Tant qu'on y est, le résultat dans laquelle je fais les extractions est issu d'une simple recherchev,

Est ce qu'on peut intégrer tes formules dans la recherchev ?

EDIT J' AI RIEN DIT C'EST TRAITE
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 326
Membres
103 180
dernier inscrit
Vcr