DSN fichier en txt à convertir en tableur

Bonjour a tous,

Je cherche désespérément un outil transformant le fichier généré par une DSN (déclaration sociale nominative) arrivant en txt en tableur.

Quelqu'un a t il déjà travaillé sur le sujet ?

merci !

Hello,

Envoie ton txt :)

@+

Hello Baroute

La dsn n'est pas un fichier plat, mais un fichier structuré un peu comme du XML.
J'ai bien peur qu'il faille un peu mettre les mains dans le camboui pour importer ce qui vous intéresse.

Hello,

Avec PowerQuery on peut importer un peu tout et n'importe quoi.

Il faudrait savoir où est ce que tu le récupères. J'avoue ne pas trop connaître ce que c'est

@+

343dsn.xlsx (14.81 Ko)

Ci dessus, un extrait du fichier.

c'est un boucle de référence allant de S21.G00.30.001 à S21.G00.86.005 pour chaque salarié.

dans le fichier joint, je n'ai mis que 2 salariés.

L'objectif est d'avoir une colonne pour chaque référence et une ligne par salarié.

S21.G00.30.001S21.G00.30.002...
'1650xxx06271''Nxx'..
16xxx3485019'Cxxx'

ca fait plusieurs jours que je galère a trouver.

Hello,

Dans ton "test", j'ai 2 salariés normalement mais je me retrouve avec 41 fois une seule rubrique alors que je ne devrais l'avoir que 2 fois.. Possible d'avoir 2 individus "propres" ?

image

Dans l'attente de ton retour, voici une première ébauche. Bien sûr on part du principe que toutes les lignes par individu sont groupées au départ.

@+

109dsn.xlsx (35.19 Ko)

déjà un grand merci du travail déjà fourni !

le fichier en l'état peut déjà mettre utile.

Par contre le fichier est malheureusement déjà propre. Toutes ces lignes ont une utilité.

L'Ideal serait d'avoir 1 onglet par GXX mais en gardant une 1er colonne identique à chaque onglet servant de clé la S21.G00.30.019 a fin d'avoir tjr l'information a qui est relié cette donnée.

les G30;40;50 peuvent etre dans un meme onglet (car il n'y a qu'une donnée par salarié) puis les Gxx auraient leur propre onglet avec comme premier colonne la S21.G00.30.019 qui servira de clé.

c'est possible ?

Hello,

Pour mettre les données dans des onglets différents je ne pense pas que ce sera le plus dur. Avec des TCD dépendants de la base ce sera facile.

Ma question cependant reste sans réponse : pourquoi si je n'ai que deux salariés, j'ai 41 fois la rubrique S21.G00.81.001 ?

En fait, comment ça fonctionne ? Je n'ai pas de clef unique dans ton extraction, ce qui veut dire que le seul moyen d'affecter la bonne donnée à la bonne ligne dépend du format de ton extraction et que les X premières rubriques soient affectées à la première ressource, que les X suivantes soient affectées à la deuxième ressource et ainsi de suite. Déjà, je trouve ça dangereux mais ce n'est que mon avis. Il faudrait demander à la source d'avoir une clef unique par bloc dans ton extraction. (si possible bien sûr).

Donc si une ressource n'est censée avoir qu'une rubrique S21.G00.81.001 pourquoi j'en ai 41 ? pour deux ressource ? Si il y a une logique à ça, peux tu me l'expliquer ?

Merci d'avance

@+

le S21.G00.81.001 renvoi a un type de donnée. c'est un numéro unique par salarié.

exemple :

- "076" donne l'information "Cotisation Assurance Vieillesse"

- "045" donne l'information "Cotisation Accident du travail"

pour chacune de ce type de donné il y a

S21.G00.81.002S21.G00.81.003S21.G00.81.004S21.G00.81.007
Identifiant Organisme de Protection SocialeMontant d'assietteMontant de cotisationTaux de cotisation

qui sont rattaché a cette donnée.

Je ne sais pas si ca peut servir, mais dans le fichier source, a chaque fois que le S21.G00.30.001 arrive, c'est qu'on vient de passer a un autre salarié. Ce champs peut éventuellement servir de clé, même si dans l'absolue je préfère le S21.G00.30.019 :-)

Hello,

Du coup si tu me dis que c'est un numéro unique par salarié et que tu as mis 2 salariés dans ton fichier, pourquoi j'ai 41 lignes de ce code unique S21.G00.81.001???!

@+

Dans le fichier source,

Les lignes 1 à 274 concerne le 1er salarié

en ligne 275 on retrouve S21.G00.30.001 qui indique un changement de salarié.

et les lignes 275 à 549 concerne le 2nd salarié

le code S21.G00.81.001 n'est pas unique, c'est son contenu que tu pourras retrouver qu'une fois par salarié.

cad que tu n'auras qu'une fois la valeur "076" dans la colonne S21.G00.81.001 pour un salarié.

en gros le fichier reprend les informations d'un bulletin de paie.

donc pour chaque ligne de bulletin tu auras un S21.G00.81.001 qui t'indique la nature de la ligne (URSSAF ou retraite ou mutuelle etc...) puis tu auras les

S21.G00.81.002S21.G00.81.003S21.G00.81.004S21.G00.81.007
Identifiant Organisme de Protection SocialeMontant d'assietteMontant de cotisationTaux de cotisation

pour donner les montants de la ligne

Hello,

J'ai bien compris le besoin, une rubrique par salarié et la décomposition en colonne pour avoir une ligne par salarié.

Donc on efface tout on recommence

J'ai pris uniquement MICHEL donc ligne 1 à 274.

Pour MICHEL je dois avoir pour chaque rubrique une seule valeur.

Je me retrouve dans le cas suivant :

Pour MICHEL et pour la rubrique S21.G00.79.004 j'ai 6 lignes. Comment je dois traiter ces 6 lignes ? A part le montant je ne peux pas les différencier donc je ne sais pas quoi appliquer comme traitement.

image

Est ce que ma question est plus claire ici ?

@+

:-)

pour ton exemple,

il faudrait un onglet S21.G00.79

Dans lequel il y aurait les colonnes suivante

Clef

S21.G00.79.001( qui indique le Type de composant de base assujettie)

S21.G00.79.004 (qui indique le Montant de composant de base assujettie)

image

Hello,

Une proposition,

Tu feras attention pour le 81 et 78 il y a des cellules vides.

Dis moi ce que t'en penses

@+

168dsn-v6.xlsx (75.49 Ko)

C'est exactement le résultat souhaité !!

Ca fonctionne via une macro ?

Hello,

Nope par PowerQuery. Je t'invite à regarder ce que c'est c'est trop bien :)

pour actualiser tous les tableaux d'un coup tu vas dans le ruban sur "Données" et tu fais "Actualiser tout"

Note à moi même et ce qui pourraient y être confronter, la première colonne importe beaucoup dans un Table.Pivot

@+

waouh, je viens de tomber amoureux !!! ^^

merci !!!!

je peux abuser et te demander de faire en sorte que la clef soit S21.G00.30.019 ? il s'agit du numéro de matricule du salarié. ca me permettra d'avoir une clé identique dans chaque fichier traité.

C'est cadeau :)

@+

370dsn-v6.xlsx (76.70 Ko)

merci !!

tu as une chaine YouTube a conseiller pour apprendre PowerQuery ?

Hello,

J'avoue que c'est ce forum qui m'apprend pas mal sinon je suis ce mec sur youtube : https://www.youtube.com/@GoodlyChandeep

@+

Rechercher des sujets similaires à "dsn fichier txt convertir tableur"