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

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

  • Classeur2.xlsx
    8.8 KB · Affichages: 80
  • Classeur2.xlsx
    8.8 KB · Affichages: 86
  • Classeur2.xlsx
    8.8 KB · Affichages: 80
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : Recherche d'occurence dans un champ texte

Bonsoir,

Essaie avec le fichier joint...(si tu n'es pas réfractaire aux Macros...)

Bonne soirée
 

Pièces jointes

  • calouu_v1.xlsm
    16.3 KB · Affichages: 75
C

Compte Supprimé 979

Guest
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
 

Cousinhub

XLDnaute Barbatruc
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
 

job75

XLDnaute Barbatruc
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

  • Classeur2(1).xls
    33.5 KB · Affichages: 62
  • Classeur2(1).xls
    33.5 KB · Affichages: 66
  • Classeur2(1).xls
    33.5 KB · Affichages: 67

job75

XLDnaute Barbatruc
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

  • Classeur2(2).xls
    38.5 KB · Affichages: 65
  • Classeur2(2).xls
    38.5 KB · Affichages: 60
  • Classeur2(2).xls
    38.5 KB · Affichages: 53

job75

XLDnaute Barbatruc
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

  • Classeur2(3).xls
    35.5 KB · Affichages: 71
  • Classeur2(3).xls
    35.5 KB · Affichages: 63
  • Classeur2(3).xls
    35.5 KB · Affichages: 70
Dernière édition:

job75

XLDnaute Barbatruc
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

  • Classeur2(4).xls
    33 KB · Affichages: 68
  • Classeur2(4).xls
    33 KB · Affichages: 78
  • Classeur2(4).xls
    33 KB · Affichages: 77

calouuuu

XLDnaute Nouveau
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
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…