XL 2016 récupération caractère entre crochet par la droite

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 !

riddick93

XLDnaute Nouveau
Bonjour à toutes et tous,
J'essaie d'extraire les caractères entre crochet par la droite d'une cellule.
Avec la formule que j'ai je n'obtient pas le résultat voulu sur tout les cas.
en Cellule A1 j'ai le titre ou se situe le/les mot(s) à extraire et en B1 j'ai la formule suivante
=SI(DROITE(A2;1)<>"]";"";STXT(A2;TROUVE("[";A2;1)+1;TROUVE("]";A2;1)-TROUVE("[";A2;1)-1))
Voici les résultats selon les différentes disposition des crochets:
La 2nd et 3ème ligne sont bonnes mais pas la 1ère ni la dernière
[Bonjour] [Merci] je vais bien [aujourd'hui]Bonjour
[Bonjour] [Merci] je vais bien
je vais bien [aujourd'hui]aujourd'hui
[Bonjour] je vais bien [aujourd'hui]Bonjour

Je vous joint mon fichier si vous avez une solution
Merci d'avance
 

Pièces jointes

Solution
Bonjour à tous, bonjour @riddick93

La chaîne à traiter étant en A2 :

Cette formule renvoie le dernier mot entre crochet :
=STXT(A2;TROUVE("¯";SUBSTITUE(A2;"[";"¯";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"[";""))))+1;TROUVE("]";STXT(A2;TROUVE("¯";SUBSTITUE(A2;"[";"¯";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"[";""))))+1;NBCAR(A2)))-1)

Cette formule renvoie le mot entre crochet s'il se situe à droite de la chaîne :
=SI(DROITE(A2;1)<>"]";"";SUBSTITUE(STXT(A2;TROUVE("¯";SUBSTITUE(A2;"[";"¯";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"[";""))))+1;NBCAR(A2));"]";""))
(J'utilise le caractère "¯" qui a peu de chance de se trouver dans la chaîne à traiter )

Amicalement
Alain
Merci de la réponse sylvanu
en fait je ne voir apparaitre en colonne B uniquement les derniers caractères entre crochet en fin
Du coup voici les infos que je voudrais voir apparaitre:
TitreTAG actuelTAG Voulu
[Bonjour] [Merci] je vais bien [aujourd'hui]Bonjouraujourd'hui
[Bonjour] [Merci] je vais bien
je vais bien [aujourd'hui]aujourd'huiaujourd'hui
[Bonjour] je vais bien [aujourd'hui]Bonjour
 
Hello
Merci de la réponse sylvanu
en fait je ne voir apparaitre en colonne B uniquement les derniers caractères entre crochet en fin
Du coup voici les infos que je voudrais voir apparaitre:
TitreTAG actuelTAG Voulu
[Bonjour] [Merci] je vais bien [aujourd'hui]Bonjouraujourd'hui
[Bonjour] [Merci] je vais bien
je vais bien [aujourd'hui]aujourd'huiaujourd'hui
[Bonjour] je vais bien [aujourd'hui]Bonjour

Pas trop compris.
Il ne faudrait pas plutôt
[Bonjour] [Merci] je vais bien [aujourd'hui]aujourd'hui
[Bonjour] [Merci] je vais bienMerci
je vais bien [aujourd'hui]aujourd'hui
[Bonjour] je vais bien [aujourd'hui]aujourd'hui
 
Bonjour à tous, bonjour @riddick93

La chaîne à traiter étant en A2 :

Cette formule renvoie le dernier mot entre crochet :
=STXT(A2;TROUVE("¯";SUBSTITUE(A2;"[";"¯";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"[";""))))+1;TROUVE("]";STXT(A2;TROUVE("¯";SUBSTITUE(A2;"[";"¯";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"[";""))))+1;NBCAR(A2)))-1)

Cette formule renvoie le mot entre crochet s'il se situe à droite de la chaîne :
=SI(DROITE(A2;1)<>"]";"";SUBSTITUE(STXT(A2;TROUVE("¯";SUBSTITUE(A2;"[";"¯";NBCAR(A2)-NBCAR(SUBSTITUE(A2;"[";""))))+1;NBCAR(A2));"]";""))
(J'utilise le caractère "¯" qui a peu de chance de se trouver dans la chaîne à traiter )

Amicalement
Alain
 

Pièces jointes

Hello


Pas trop compris.
Il ne faudrait pas plutôt
[Bonjour] [Merci] je vais bien [aujourd'hui]aujourd'hui
[Bonjour] [Merci] je vais bienMerci
je vais bien [aujourd'hui]aujourd'hui
[Bonjour] je vais bien [aujourd'hui]aujourd'hui
Bonjour, en effet une coquille s'est insérré dans mon tableau, je ne dois sortir que les mots entre crochet de fin
donc je devrait avoir:
aujourd'hui
aujourd'hui
aujourd'hui

le/les mot(s) que je souhaite extraire sont tjs situé en fin
 
Bonjour à tous, bonjour @riddick93

La chaîne à traiter étant en A2 :

Cette formule renvoie le dernier mot entre crochet :


Cette formule renvoie le mot entre crochet s'il se situe à droite de la chaîne :

(J'utilise le caractère "¯" qui a peu de chance de se trouver dans la chaîne à traiter )

Amicalement
Alain
Merci beaucoup AtTheOne c'est exactement cela
Nickel vous gérez
 
Bonjour à tous

Juste en passant il est dommage que le mot le plus important de la demande soit apparu au post 7 par le demandeur
le/les mot(s) que je souhaite extraire sont tjs situé en fin
@D.D. en avait eu l'intuition 😉

Perso j'avais compris qu'il fallait récupérer tous les mots entre crochets !!!

Comme quoi une demande bien écrite évite ces problèmes de compréhension

@Phil69970
 
Bonjour à tous,

En B2 mettre la formule
VB:
=STXT($A2;TROUVE("@";SUBSTITUE(A2;"[";"@";SOMME(--(STXT(SUBSTITUE(A2;"[";"@");LIGNE($1:$255);1)="@")));1)+1;TROUVE("#";SUBSTITUE(A2;"]";"#";SOMME(--(STXT(SUBSTITUE(A2;"[";"#");LIGNE($1:$255);1)="#")));1)-TROUVE("@";SUBSTITUE(A2;"[";"@";SOMME(--(STXT(SUBSTITUE(A2;"[";"@");LIGNE($1:$255);1)="@")));1)-1)
validation matricielle et copier vers le bas

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

Retour