extraction partie d'une chaine de caractères

  • Initiateur de la discussion Initiateur de la discussion barbara
  • 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 !

B

barbara

Guest
Bonjour le forum,

Je voudrais extraire d'une chaine de longeur variable les caractères situés après le dernier slash
le pb étant qu'il peut y avoir plusieurs slash dans la chaine
Type : lundi/mardi/marcredi/jeudi
Je voudrais récupérer le dernier terme, le jeudi
Comme la longueur est variable, je ne vois pas
comment utiliser la fonction right et comme il y a plusieurs slash, comment utiliser la fonction mid


merci à tous
 
Bonjour le Forum,
Bonjour Barbara, Hervé, Pascal76,

bon les VBtiste sont les plus rapides mais comme dirait Hervé il n'y a pas de raison 🙂 🙂 😉alors, une approche par formule (fonctionne avec les jours de la semaine car on peut a peut prés définir le nombre de caracteres)

=REMPLACER('/';1;TROUVE('/';B13;NBCAR(B13)-10);DROITE(B13;NBCAR(B13)-TROUVE('/';B13;NBCAR(B13)-10)))

Bonne jounée

Jocelyn
 
salut

pour poursuivre dans la foulée, une autre solution sous forme de formule matricielle :

=STXT(A1;MAX((LIGNE(DECALER($A$1;0;0;NBCAR(A1))))*(STXT(A1;(LIGNE(DECALER($A$1;0;0;NBCAR(A1))));1)='/'))+1;NBCAR(A1))

Message édité par: Ti_, à: 10/04/2006 11:01
 
re,
Bonjour Ti_,

Merci Ti_ ta formule est bien meilleur que la mienne allé hop dans une petite case de ce qui me sert de cerveau.

Jocelyn

edit je viens de la tester elle ouvre des horizons en remplacant max par grand.valeur, génial.

Message édité par: Jocelyn, à: 10/04/2006 11:19
 
Bonjour,

à essayer :
=STXT(A1;EQUIV(0;(ESTNUM(TROUVE('/';A1;LIGNE(INDIRECT('1:'&NBCAR(A1)))))*1);0);1024)

Si tu n'as que des jours de semaine : 8 à la place de 1024
=STXT(A1;EQUIV(0;(ESTNUM(TROUVE('/';A1;LIGNE(INDIRECT('1:'&NBCAR(A1)))))*1);0);8)

Formule matricielle, à valider par ctrl, maj et entrée
 
Re : Re:extraction partie d'une chaine de caractères

à essayer :
=STXT(A1;EQUIV(0;(ESTNUM(TROUVE('/';A1;LIGNE(INDIRECT('1:'&NBCAR(A1)))))*1);0);1024)

Si tu n'as que des jours de semaine : 8 à la place de 1024
=STXT(A1;EQUIV(0;(ESTNUM(TROUVE('/';A1;LIGNE(INDIRECT('1:'&NBCAR(A1)))))*1);0);8)

Formule matricielle, à valider par ctrl, maj et entrée[/QUOTE]

******************************************
Bonjour Monique 🙂

Cette formule m'interesserait, mais je n'arrive pas à la faire fonctionner,
j'obtiens une erreur.
J'ai tenté de remplacer les ' par des " mais cela ne résoud pas l'affaire.
Ci-joint le fichier,

Merci d'avance si vous pouviez résoudre l'enigme.
 
Re : extraction partie d'une chaine de caractères

Bonjour Nioubie,

Dans la formule de Monique, il faut effectivement remplacer les ' (apostrophes) par des " (guillemets)

Ensuite, il s'agit d'une formule matricielle, ce qui signifie qu'elle doit être validée par la combinaison de touches CTRL + MAJ + ENTREE

Sinon, une solution avec une formule classique :

Code:
=STXT(A1;TROUVE("µ";SUBSTITUE(A1;"/";"µ";NBCAR(A1)-NBCAR(
SUBSTITUE(A1;"/";""))))+1;8)

Le principe : détecter l'emplacement du dernier caractère / et extraire la partie de la chaine située après ce dernier caractère

@+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
14
Affichages
581
Retour