XL 2016 Extraction d'une partie du texte d'une même cellule

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

Ethlios

XLDnaute Junior
Bonjour à tous,

Je suis à la recherche d'une petite astuce pour séparer le texte d'une même cellule.

Exemple : aujourd'hui*20

Dans l'idée je voudrais extraire précisément le texte situé après le * donc dans l'exemple "20", auriez vous une petite formule pour cette tâche ?

Ethlios
 
Solution
Bonjour Ethlios,
Un petit fichier test eût été le bienvenu, c'est plus simple.
Si A1 contient : aujourd'hui*20, on peut faire :
VB:
=STXT(A1;1+CHERCHE("£";SUBSTITUE(A1;"*";"£"));1000)
Si on veut récupérer un nombre et non un texte :
Code:
=CNUM(STXT(A1;1+CHERCHE("£";SUBSTITUE(A1;"*";"£"));1000))
Le changement "*" en "£" est utile ici car "*" veut dire "n'importe quel texte" et le Cherche ne marche pas, il donne comme résultat 1.
Bonjour Ethlios,
Un petit fichier test eût été le bienvenu, c'est plus simple.
Si A1 contient : aujourd'hui*20, on peut faire :
VB:
=STXT(A1;1+CHERCHE("£";SUBSTITUE(A1;"*";"£"));1000)
Si on veut récupérer un nombre et non un texte :
Code:
=CNUM(STXT(A1;1+CHERCHE("£";SUBSTITUE(A1;"*";"£"));1000))
Le changement "*" en "£" est utile ici car "*" veut dire "n'importe quel texte" et le Cherche ne marche pas, il donne comme résultat 1.
 
Bonjour Ethlios,
Un petit fichier test eût été le bienvenu, c'est plus simple.
Si A1 contient : aujourd'hui*20, on peut faire :
VB:
=STXT(A1;1+CHERCHE("£";SUBSTITUE(A1;"*";"£"));1000)
Si on veut récupérer un nombre et non un texte :
Code:
=CNUM(STXT(A1;1+CHERCHE("£";SUBSTITUE(A1;"*";"£"));1000))
Le changement "*" en "£" est utile ici car "*" veut dire "n'importe quel texte" et le Cherche ne marche pas, il donne comme résultat 1.
Désolé pour le fichier et merci beaucoup pour la formule ! Juste une question pourquoi ;1000) à la fin de la formule ?
 
Bonjour à tous,
Amitiés sylvanu,

Une autre possibilité avec la fonction TROUVE qui n'utilise pas de caractères génériques (*).
Pour le nombre après * :
=CNUM(DROITE(A1;NBCAR(A1)-TROUVE("*";A1)))
Pour le texte avant * :
=GAUCHE(A1;TROUVE("*";A1)-1)

Cordialement
 
- 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

Discussions similaires

Réponses
3
Affichages
139
Réponses
6
Affichages
280
Retour