[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:

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas