S STephane XLDnaute Occasionnel 2 Février 2024 #1 Bonjour Je coince un peu pour la mise en œuvre d'une lecture de champs en longueur fixe. Dans la feuille "Objectif 1", je cherche à découper les données du champ "Clé à decrypter" avec une formule dans le champ "Valeur décryptée" selon la longueur la définition de structures stockées dans la feuille "Structure Definition". J'ai une formule O365 ARRAY.SPLIT.POS récupérée sur Excel-Ticker.de qui fait le découpage d'une chaîne en longueur fixe. Après maints essais, je propose une solution qui est suffisante pour mes besoins. Pièces jointes XLD_Lecture_base_champs_longueur_fixe.xlsm 15.6 KB · Affichages: 4 Dernière édition: 4 Février 2024
Bonjour Je coince un peu pour la mise en œuvre d'une lecture de champs en longueur fixe. Dans la feuille "Objectif 1", je cherche à découper les données du champ "Clé à decrypter" avec une formule dans le champ "Valeur décryptée" selon la longueur la définition de structures stockées dans la feuille "Structure Definition". J'ai une formule O365 ARRAY.SPLIT.POS récupérée sur Excel-Ticker.de qui fait le découpage d'une chaîne en longueur fixe. Après maints essais, je propose une solution qui est suffisante pour mes besoins.
A ALS35 XLDnaute Impliqué 2 Février 2024 #2 Bonjour, Plutôt que de donner tes formules dont on ne sait pas si elles te conviennent, donne plutôt ton fichier avec le résultat attendu (et des explications claires) Cordialement Vote positif 0 Vote négatif
Bonjour, Plutôt que de donner tes formules dont on ne sait pas si elles te conviennent, donne plutôt ton fichier avec le résultat attendu (et des explications claires) Cordialement
S STephane XLDnaute Occasionnel 4 Février 2024 #3 fichier mis à jour dans le premier message Vote positif 0 Vote négatif Solution
A ALS35 XLDnaute Impliqué 5 Février 2024 #4 Bonjour, J'ai fini par comprendre ce que tu voulais et la signification des différents champs. On peut faire plus court : VB: =Fract.Pos(C4;SCAN(1;FILTRE(DbStructure3[Longueur];DbStructure3[Table]=B21);LAMBDA(a;b;a+b));"") Par ailleurs j'ai corrigé deux erreurs dans la fonction Array.Split.Pos, que j'ai sauvegardée sous Fract.Pos Voir fichier joint Cordialement Pièces jointes XLD_Lecture_base_champs_longueur_fixe-v2.xlsm 16.4 KB · Affichages: 3 Vote positif 0 Vote négatif
Bonjour, J'ai fini par comprendre ce que tu voulais et la signification des différents champs. On peut faire plus court : VB: =Fract.Pos(C4;SCAN(1;FILTRE(DbStructure3[Longueur];DbStructure3[Table]=B21);LAMBDA(a;b;a+b));"") Par ailleurs j'ai corrigé deux erreurs dans la fonction Array.Split.Pos, que j'ai sauvegardée sous Fract.Pos Voir fichier joint Cordialement
S STephane XLDnaute Occasionnel 6 Février 2024 #5 Merci pour cette version simplifiée, je regarderai à tête reposée. Vote positif 0 Vote négatif