[RESOLU] Décrypter Observation en vrac et en extraire des éléments triés

Fred0o

XLDnaute Barbatruc
Bonsoir à tous,

J'en appelle aux formulistes pour me concocter une formule la plus concise possible pour transformer une observation sous format texte libre (difficile d'imposer un format à une dizaine d'opérateurs, dans un champ libre), en 2 champs numériques.

Dans l'observation, on trouve un texte du type : "S5 Z31" ou "S5,Z31" ou "Z31 S5" ou "Z31S5" ou "S5-Z31" ou autre variante et on cherche à avoir un champ "Secteur" contenant 5 et un champ "Zone" contenant "31".

Pour info, les valeurs de secteur peuvent varier de 0 à 12 et les valeurs de zone peuvent varier de 11 à 41.

Voir fichier joint.

Merci
 

Pièces jointes

  • Fred0o_V1.xlsx
    8.1 KB · Affichages: 50
Dernière édition:

Fred0o

XLDnaute Barbatruc
Re : Décrypter Observation en vrac et en extraire des éléments triés

Bonsoir Jocelyn,

Ceci me semble parfait.

Rapide, efficace et formules simples. J'avais fait des essais en empilant les SUBSTITUE mais elles étaient longues et indigestes.

Merci beaucoup

A+
 

Staple1600

XLDnaute Barbatruc
Re : Décrypter Observation en vrac et en extraire des éléments triés

Bonsoir à tous


Un exemple non testé de manière exhaustive
En B1
Code:
=STXT(A$1;1+CHERCHE("Z??";A$1);2)
En C1
Code:
=STXT(A$1;1+CHERCHE("S??";A$1);2)

PS1: Fonctionne avec les 5 exemples fournis

PS2: J'espère que la solution de Jocelyn est autre, car je n'ai pas ouvert son fichier.
Donc désolé si solutions doublons.
 

Fred0o

XLDnaute Barbatruc
Re : Décrypter Observation en vrac et en extraire des éléments triés

Bonsoir Staple,

Merci pour ta réponse. Tes formules sont très compactes et cela fonctionne très bien pour la zone car toujours codé sur 2 digits. Par contre, pour le secteur, cela fonctionne si il est codé sur 2 digits mais pas si il est sur un digit. Voir fichier ci-joint.

A+
 

Pièces jointes

  • Fred0o_V2.xlsx
    9 KB · Affichages: 50

Staple1600

XLDnaute Barbatruc
Re : Décrypter Observation en vrac et en extraire des éléments triés

RE

Désolé , il y avait un $ qui trainait dans mes premiers essais
ZONE
Code:
=STXT(A1;1+CHERCHE("Z*";A1);2)*1
SECTEUR
Code:
=SUBSTITUE(STXT(A1;1+CHERCHE("S*";A1);2);"-";"")*1
 

Fred0o

XLDnaute Barbatruc
Bonjour,

Merci Staple, j'avais déjà effectué la correction du $ dans mon essai. Le SUBSTITUE que tu as rajouté couvre la majorité des cas, il reste le cas où les données sont séparées pas ";".
J'ai donc rajouté un SUBSTITUE, ce qui donne cette formule qui fonctionne très bien :
Code:
=SUBSTITUE(SUBSTITUE(STXT(A3;1+CHERCHE("S*";A3);2);"-";"");";";"")*1

et qui est on ne peut plus proche de celle de Jocelyn, mais pas dans le même ordre :
Code:
=STXT(SUBSTITUE(SUBSTITUE(A3;"-";" ");";";" ");CHERCHE("S";A3)+1;2)*1

Merci à tous les deux.

A+
 

Jocelyn

XLDnaute Barbatruc
Re : [RESOLU] Décrypter Observation en vrac et en extraire des éléments triés

re,
Bonjour staple1600:),

Pour le fun on peut aussi se passer des substitue en disant si STXTde 2 caractère fois 1 est en erreur il faut juste STXT 1 caractère fois de cette façon :

Code:
=SIERREUR(STXT(A3;CHERCHE("S";A3)+1;2)*1;STXT(A3;CHERCHE("S";A3)+1;1)*1)

car je me disais qu'avec les substitue on avais gérer les ";" et "-" mais si par exemple on a "/" ou "." etc .. il faudrait ajouter des substitue

a toi de voir le plus simple

EDIT un ou 2 exemple de ce que je dis :

sans parler de caractère type / . ; etc.....

si ta donnée est suivant ton exemple : Z31S5 ici pas de soucis car 2 numérique suivent le Z
mais sans espace ni caractère S5Z31 ici un seul numérique après le S et on tombe sur le Z ça ne passe pas :)
 
Dernière édition: