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

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

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 !

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

Bonsour® 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)
 
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

Dernière édition:
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

Dernière édition:
- 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…