Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche d'occurence dans un champ texte

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

calouuuu

XLDnaute Nouveau
[Résolu] Recherche d'occurence dans un champ texte

Bonjour,

J'ai un petit soucis que j'aimerai vous soumettre. Pour faire court, un outil me permet de faire des extractions sous .CSV que je dois analyser mais une donnée me pose problème. Il s'agit d'un champ texte de longueur variable dans lequel peut se cacher des références que j'amerai trouver (voir fichier joint).

J'ai besoin :
1) de connaitre le nombre de référence dans le texte (4 maxi normalement)
2) d'extraire ces références

Nb: Petite info complémentaire et non moins importante, les références sont normées et débutent systématiquement par "[M"...

Merci à vous.
 

Pièces jointes

Dernière édition:
Re : Recherche d'occurence dans un champ texte

[HS]
Un petit coucou à toi mon cher Hubert
J'ai l'impression que l'on ne te voit plus beaucoup 🙁

J'espère qu'il fait meilleurs par chez toi, qu'ici en France

Au plaisir
 
Re : Recherche d'occurence dans un champ texte

Re-,

Coucou Bruno...

Effectivement, plus trop présent, mais comme le séjour se termine, j'ai un peu plus de temps (comme on dit, "Voir mon remplaçant.....")😀

Rentrée en Broxitanie le 16 Août....(déjà 2 ans sous le soleil....pfffffffffft)

Bonne soirée
 
Re : Recherche d'occurence dans un champ texte

Bonjour calouuuu, salut bh2, Bruno 🙂

Heureux moi aussi de te revoir Hubert.

Avec cette fonction macro dans un module :

Code:
Function REF$(t$, rang As Byte)
Dim s
s = Split(t, "[M")
On Error Resume Next
REF = "M" & Val(s(rang))
End Function
Puis cette formule en B2, à tirer à droite et vers le bas :

Code:
=REF($A2;COLONNES($B:B))
Fichier joint.

A+
 

Pièces jointes

Re : Recherche d'occurence dans un champ texte

Re,

Juste en passant, si l'on veut récupérer tous les textes entre crochets :

Code:
Function REF$(t$, rang As Byte)
Dim s, n%
s = Split(t, "[")
On Error Resume Next
n = InStr(s(rang), "]") - 1
REF = Left(s(rang), n)
End Function
Fonctionne si tout crochet "ouvert" est "fermé" avant d'ouvrir le suivant.

A+
 

Pièces jointes

Re : Recherche d'occurence dans un champ texte

Re,

Une solution par formule n'est pas trop compliquée dans le cas où l'on veut afficher tous les textes entre crochets.

En B2 :

Code:
=SI(SUBSTITUE($A2;"[";"µ";COLONNES($B:B))=$A2;"";STXT($A2;TROUVE("µ";SUBSTITUE($A2;"[";"µ";COLONNES($B:B)))+1;TROUVE("µ";SUBSTITUE($A2;"]";"µ";COLONNES($B:B)))-TROUVE("µ";SUBSTITUE($A2;"[";"µ";COLONNES($B:B)))-1))
Fichier (3).

A+
 

Pièces jointes

Dernière édition:
Re : Recherche d'occurence dans un champ texte

Bonjour calouuuu, le fil, le forum,

Finalement cette solution pour afficher uniquement les références commençant par [M :

Code:
=SI(SUBSTITUE($A2;"[M";"µ";COLONNES($B:B))=$A2;"";STXT($A2;TROUVE("µ";SUBSTITUE($A2;"[M";"µ";COLONNES($B:B)))+1;TROUVE("µ";SUBSTITUE($A2;"]";"µ");TROUVE("µ";SUBSTITUE($A2;"[M";"µ";COLONNES($B:B))))-TROUVE("µ";SUBSTITUE($A2;"[M";"µ";COLONNES($B:B)))-1))
Fichier (4).

A+
 

Pièces jointes

Re : Recherche d'occurence dans un champ texte

Alors là chapeau...

J'ai pourtant l'habitude des formules à tirroirs pour me sortir le + possible des macros mais celle là je ne l'avait pas !
Merci bcp job75
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…