Bonjour
je m'explique
J'ai besoin, ds un tableau Excel d'extraire la valeur de données (titre en rouge) encadrées généralement par des repères d'ouverture et de fermeture "[" et "]",
Mais ces repères sont utilisés pour encadrer également d'autres valeurs d'autres données dont je n'ai pas besoin.
Les longueurs des chaines sont variables
Je dois donc particulariser ces repères, ce qui ne peut se faire sur la recherche d'un seul caractère de début ou de fin mais ils peuvent devenir uniques si l'on prend en compte ce qui est avant et après.
Voici la cellule a faire parler:
Pour un article donné, regroupant ses caractéristiques différentes, toujours avec les mêmes séparateurs (ou presque = Allergènes):
Contenu de la cellule:
Conditionnement: T[Verrine]; Région: S[Aquitaine]; DLUO: T[36 m]; Code douane: T[21039090]; Composition: T[Mangue* (60 %), sucre de canne*, jus concentré de citron*, gélifiant : pectine de fruits. * Produits issus de l’Agriculture Biologique - Allergènes: - soja]; Marque: E[SAVEURS ATTITUDES]; Valeurs nutritionnelles: T[Energie (kCal/100g): 224 - Matière grasse/Acides gras (g/100g): 0,2/0,1 - Glucides/Sucres (g/100g): 55,2/54,5 - Protéïnes (g/100g): 0,5 - Sel (g/100g): 0,0036 - Fibres (g/100g): 1,1]; Poids: O[220]
Le contenu du Conditionnement ("verrine") m'intéresse, idem pour composition, etc.
Mais aussi La chaine derrière Allergènes qui ici, se réduit à ce qui est entre Biologique (occurence unique, ou même "gique") et -];M, qui est également une valeur unique, un repère.
J'ai besoin d'extraire de chacune de ces lignes de chaque cellule de mon fichier, une à une, les valeurs des caractéristiques en gras "Conditionnement", "Composition", "Allergènes", "Valeurs nutritionnelles", et "Poids" dt la longueur aussi n'est pas forcément constante (entre 1 et 4 caractères)
Ce mot démarre, derrière Conditionnement, toujours à "dernier caractère + 5 ou à +1 après Conditionnement: [
"Conditionnement: [ " + 1 est la position du premier caractère recherché.
MAIS je ne connais pas sa longueur; donc je dois repérer la fin de la zone ou il se trouve qui est forcément définie à 4 caractères DEVANT le R de Région (Région - 4 est la position du dernier caractère de mon mot que je cherche.
Enfin, je dois donc reconstituer le "texte" qui est défini entre ces deux positions.
Donc je dois chercher les repères de début et de fin des mots Conditionnement, Composition, Allergènes, Valeurs nutritionnelles et Poids, pour extraire les 4 valerurs correspondantes:
> le conditionnement
> la composition
> les allergènes (ici il n'y en a pas)
> les valeurs nutritionnelles,
> le Poids
Je n'arrive pas à l'écrire, qqn a une idée simple et rusée: Le pb est de ne pas pouvoir identifier des repères uniques d'un seul caractère; ces repères étant "[" et "]", sauf pour la donnée Allergènes
Toutes les séquences des données en gras sont les mêmes, ds le même ordre bien sûr.