[Résolu / Modeste geedee]Extraction d'une portion du code par formule

subirubi

XLDnaute Occasionnel
Bonjour forum,

Je souhaiterais adapter cette formule
Code:
=STXT(SUBSTITUE($B5;"-";"";1);CHERCHE("-??????-";SUBSTITUE($B5;"-";"";1))+1;6)
afin qu'elle puisse m'extraire une portion du code qui réfère au type de comblement, par exemple: CONC
Voici un exemple de code à partir duquel l'information est extraite: RH-17-CONC-219230-49172

Pour plus d'informations, référez vous au tableau joint.

Merci.
 

Fichiers joints

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour forum,

Je souhaiterais adapter cette formule
Code:
=STXT(SUBSTITUE($B5;"-";"";1);CHERCHE("-??????-";SUBSTITUE($B5;"-";"";1))+1;6)
afin qu'elle puisse m'extraire une portion du code qui réfère au type de comblement, par exemple: CONC
Voici un exemple de code à partir duquel l'information est extraite: RH-17-CONC-219230-49172

Pour plus d'informations, référez vous au tableau joint.

Merci.
utiliser une fonction personnalisée à inclure dans un module standard
qui extrait selon un séparateur le xième terme d'une chaine...
VB:
Function Occurence(target As Range, separateur As String, idx As Integer)
Occurence = split(target, separateur)(idx - 1)
End Function
ex:
=Occurrence( chaine, séparateur, xiéme)
upload_2017-2-26_0-14-51.png
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour subirubi, Modeste geedee,

Une formule pour extraire le N ème mot :
=STXT(GAUCHE("-"&B5&"-";TROUVE("]";SUBSTITUE(SUBSTITUE("-"&B5&"-";"-";"[";0+N);"-";"]";0+N))-1);TROUVE("[";SUBSTITUE("-"&B5&"-";"-";"[";0+N))+1;999)
Pour avoir le 4 ème mot, il suffit de coller la formule ci-dessus en C5 (on obtient une erreur) puis de remplacer les 0+N par 0+4 (ou par 4 tout simplement) pour extraire le 4 ème mot. Copier la formule vers les autres cellules de la colonne C.

Pour avoir le 3 ème mot, il suffit de coller la formule ci-dessus en D5 (on obtient une erreur) puis de remplacer les 0+N par 0+3 (ou par 3 tout simplement) pour extraire le 3 ème mot. Copier la formule vers les autres cellules de la colonne D.
 

Fichiers joints

Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,

Pour une phrase dont le séparateur serait l'espace, la formule générique est un peu plus longue car on réduit les espaces contigus multiples à un seul espace.
Code:
=STXT(GAUCHE(" "&SUPPRESPACE($B5)&" ";TROUVE("]";SUBSTITUE(SUBSTITUE(" "&SUPPRESPACE($B5)&" ";" ";"[";0+N);" ";"]";0+N))-1);TROUVE("[";SUBSTITUE(" "&SUPPRESPACE($B5)&" ";" ";"[";0+N))+1;999)

Idem ci-dessus, par exemple pour extraire le 2 ème mot, remplacer dans la formule 0+N par 0+2 (ou simplement par 2)
 

Fichiers joints

Dernière édition:

Haut Bas