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

3xceln4ute

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.
 

Pièces jointes

  • type de comblement.xls
    25.5 KB · Affichages: 37

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.
 

Pièces jointes

  • subirubi- type de comblement- v1.xls
    30 KB · Affichages: 29
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)
 

Pièces jointes

  • subirubi- séparateur espace- v2.xls
    27 KB · Affichages: 36
Dernière édition:

Statistiques des forums

Discussions
311 729
Messages
2 081 970
Membres
101 852
dernier inscrit
dthi16088