Organisation données

Bonjour, je viens vers vous car j'ai besoin d'aide pour traiter remplir un fichier quelques milliers de lignes) à partir d'un autre fichier extrait d'un pdf (dégueu), je ne peux pas automatisé tout le processus car c'est des données sensibles et obligations de vérifier chaque ligne par un humain, mais pour faciliter un peu la tâche j'ai juste besoin d'organiser les données comme dans le fichier joint, en vous remerciant pour l'aide

13exemple.xlsx (5.04 Ko)

Bonsoir à tous !

Et....

Une approche (basique) via Power Query (nativement intégré dans M365) :

Notes :

  1. Insertion d'un tableau structuré pour la source (tSource)
  2. " Actualiser tout ", via le ruban pour mettre à jour le tableau retourné par Power Query si la source évolue.
  3. Le fichier pdf pourrait peut-être être retraité via Power Query.

Salut EakOfr,

Sur ton exemple, je vois...

image

Les séparateurs entre les données sont-ils systématiquement des " , " ou des " ; " ou peut-il y en avoir d'autres?
Sur des milliers de lignes, on peut trouver des facéties!

A+

Merci pour vos réponses, les séparateur sont bien des ;

* Je vais essayer votre solution power query (que je n'ai jamais utilisé ☺️ ), en restant ouvert à toute autre idée.

Merci infiniment

Salut EakOfr,
Salut, maître Power Query,

une solution VBA classique. Un double-clic sur la feuille démarre la macro.
Pour tester sur la BDD originale, évidemment, adapter les coordonnées!
Merci pour l'info concernant le séparateur!

A+

Edit : évidemment, si j'oublie de corriger les séparateurs erronés, ça ne peut pas aller!

7eakofr.xlsm (15.81 Ko)

Bonjour à tous !

Et pour le "fun", une approche formule unique et dynamique ( M365 !) :

=LET(
    prénoms; EXCLURE(REDUCE(""; B10:B12; LAMBDA(a; c; ASSEMB.V(a; FRACTIONNER.TEXTE(c; {", "; "; "})))); 1);
    TRIER(EXCLURE(REDUCE(""; DANSCOL(prénoms & ", " & C10:C12; 3); LAMBDA(a; c; ASSEMB.V(a; FRACTIONNER.TEXTE(c; {", "; "; "})))); 1); {1. 2}; {1. 1})
)

Bonjour à tous,

Une petite contribution formule également :

=LET(
prenoms;DANSCOL(EXCLURE(REDUCE("";B9:B11;LAMBDA(a;c;ASSEMB.V(a;FRACTIONNER.TEXTE(c;"; "))));1)&"|"&SEQUENCE(LIGNES(B9:B11));3);
c;EXCLURE(REDUCE("";C9:C11;LAMBDA(s;c;ASSEMB.V(s;FRACTIONNER.TEXTE(c;"; "))));1);
b;ASSEMB.H(RECHERCHEX(DROITE(prenoms);DROITE(PRENDRE(c;;1));PRENDRE(c;;2));RECHERCHEX(DROITE(prenoms);DROITE(PRENDRE(c;;1));CHOISIRCOLS(c;2)));
TRIER(ASSEMB.H(TEXTE.AVANT(prenoms;"|");b);1))

+Une version PowerQuery :

let
    Source = Excel.CurrentWorkbook(){[Name="Tableau2"]}[Content],
    Traitt = Table.Sort(Table.SplitColumn(Table.ExpandListColumn(Table.AddColumn(Source, "Col1", each Text.Split([Colonne1],"; ")), "Col1"), "Colonne2", Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv), {"Col2.1", "Col2.2"}) [[Col1],[Col2.1],[Col2.2]], {{"Col1", Order.Ascending}})
in
    Traitt

bonjour le fil,

@Curulis57, avec VBA

14eakofr.xlsm (19.59 Ko)
Rechercher des sujets similaires à "organisation donnees"