Automatiser saisie compta a partir fichier csv

28excel-banque.xlsx (11.24 Ko)

Bonjour,

Je recherche une solution pour automatiser en partie la saisie de mon journal de banque en utilisant les téléchargements csv de ma banque.

Sur le fichier joint vous trouverez d'abord l'original tel qu'il est téléchargé de la banque et en dessous le résultat auquel je souhaite parvenir.

Maintenant, je vais vous décrire les étapes que je réalise (peut être y a t il plus simple...) et surtout, le problème que je rencontre (LE PROBLEME EST DANS LA 2ème PARTIE).

Résultat recherché:

1ère partie (que j'arrive à faire)

En compta il y a toujours une contre écriture, il faut donc que je dédouble chaque ligne en inversant les montants entre débit et crédit (si l'original a un montant dans le débit, la ligne dupliquée devra avoir le même montant dans le crédit). Le code correspondant à cette contre écriture sera TOUJOURS le même dans notre exemple 5121

Pour y parvenir:

1. Dans mes débits il y a un "-" j'utilise la fonction abs(D) pour ne garder que la valeur absolue

2. Je copie mon relevé dans une autre feuille et manuellement je copie la colonne débit dans crédit et la colonne crédit dans débit.

3. j'insère une colonne "compte" et j'inscris 5121

4. Tout à la fin, je viendrai copier cette feuille dans ma principale et réaliserai un tri pour arriver au résultat

2ème partie (qui me pose un problème)

La deuxième partie est plus compliquée, c'est là que j'ai besoin de votre aide

90% du relevé est sous la forme jointe, on peut donc espérer automatiser.

Je rajoute une colonne "compte" et en fonction du libellé je souhaite inscrire un code

La requête est la suivante

SI dans la colonne F on trouve la suite 87501 OU 89701 ET SI dans la colonne E (crédit) il y a un montant ALORS écrire 411PARTICULIER dans la colonne "compte"

SI dans la colonne F on trouve la suite 87501 OU 89701 ET SI dans la colonne D (Débit) il y a un montant ALORS écrire 6278 dans la colonne "compte"

SI dans la colonne F on trouve la suite 88193 ET SI dans la colonne E (crédit) il y a un montant ALORS écrire 411INTERNET dans la colonne "compte"

SI dans la colonne F on trouve la suite 88193 ET SI dans la colonne D (débit) il y a un montant ALORS écrire 6278 dans la colonne "compte"

Dans TOUS les autres cas mettre 470 (compte en attente) dans la colonne "compte"

Ma difficulté ce sont ces conditions croisées...

J'espère avoir été à peu près clair, c'est vraiment la deuxième partie qui m'intéresse.

Bonne journée

Naevis

Bonjour à tous,

Ave power query (que certain rendront surement plus concis) et si on connait la source de ton fichier poue aller le chercher directement a la banque

19excel-banque.xlsx (32.41 Ko)

Bonjour,

Merci pour votre réponse :-)

Mais je ne vois pas de formules dans vos cases, du coup je n'ai pas compris comment vous arriviez au résultat recherché... Pourriez vous m'en dire un tout petit peu plus :-)

Merci d'avance

Naevis

D'ailleurs en regardant plus attentivement votre feuille PQ nous n'arrivons pas aux résultat recherché. Les lignes dupliquées sont toujours en 5121 dans la colonne compte. Tout ce qui est en négatif dans votre tableau (qui ne devrait pas dans mon problème) devrait être en 6278 et le dupliqué en 5121 mais pas en 411PARTICULIER ou 411INTERNET

Bonjour

Solution PowerQuery :

Il suffit de modifier le tableau Comptes et d'actualiser le résultat si les comptes ne sont pas les bons : tes explications ne sont pas tout à fait claires

J'ai passé les données sources dans un csv : on n'a pas besoin de charger le csv dans Excel. Le chemin est à modifier avant d'actualiser.

Il peut être nécessaire de modifier la ligne d'import en fonction du format réel de la banque.

De façon générale d'ailleurs on gère le dossier de csv et PowerQuery traite tout mais comme on n'a qu'un exemple...

On ne sait pas ce qu'est supposé contenir la colonne Journal...

je vois bien que les résultats attendus ne sont pas ceux espérés, mais si on regarde ton tableau de conditions il y a 4 résultats conditionnels et

"Dans TOUS les autres cas mettre 470 (compte en attente) dans la colonne "compte"" . Ce n'est pas moi qui ai écrit TOUS

on ne parle pas de 5121 .....

Crdlmt

Bonjour

Bonjour à tous

Une

variante macro

Bye !

Bonsoir,

Un autre essai Power Query

PS, gmb, je ne trouve pas les mêmes comptes.

Il semblerait que l'info de la première partie :

3. j'insère une colonne "compte" et j'inscris 5121

soit un peu passée à travers...

Pour moi, chaque ligne doit être dupliquée, et une des deux lignes doit avoir cette valeur. (5121)

L'autre ligne dépend des conditions énoncées dans la deuxième partie.

Mais peut-être, me trompé-je?

Bonne soirée

17excel-banque.xlsx (25.68 Ko)

Bonjour à tous, un grand MERCI pour votre aide.

De vos messages j'en retire 3 réflexions:

1. Excel est un outil fabuleux, mais je n'en connais que les rudiments! Je n'ai aucune compétence dans Power Query, il faut absolument que j'essaie de combler cette lacune

2. Mon exposé même si j'y ai consacré du temps n'est pas clair...Sur ma feuille excel, en haut de la feuille il y a les données téléchargées de ma banque, et en dessous les mêmes données retravaillées avec le résultat recherché.

OUI chaque ligne doit être dupliquée avec le code 5131 (c'est la contre écriture de la banque) mais en inversant le crédit et le débit. C'est pour ca que dans le tableau du dessous on retrouve toujours 2 lignes qui se suivent (même intitulé, même montant) la première avec le code soit 411PARTICULIER soit 411INTERNET soit 6278 soit 470 et la seconde TOUJOURS avec le code 5131 (contre écriture)

Dans la colonne journal, il suffit de mettre BP (Banque principale) dans TOUTE la colonne.

L'OBJECTIF FINAL est de venir réimporter ces données retravaillées dans notre logiciel de compta (EBP) grâce à un import paramétrable.

3. Ca fait chaud au coeur de voir des personnes que l'on ne connait pas s'intéresser à son problème. Merci pour cette belle solidarité!

Bonjour,

A priori donc, ma proposition devrait convenir. (PS, j'ai oublié d'enlever le filtre dans l'onglet "Result", au cas où...)

Maintenant, on pourrait (il faudrait même..) combiner avec la solution proposée par 78chris.

Le principe :

- On entre dans une cellule (de l'onglet "Param", par exemple), le chemin et le nom du fichier .csv à traiter. (on pourrait ajouter un peu de code afin d'aller chercher ce fichier par le biais d'une fenêtre de recherche)

- Power Query importera ce fichier, le traitement se fera alors automatiquement.

Si tu pouvais mettre à disposition un fichier exemple, au format csv (en le modifiant au besoin par le biais du bloc notes, pour enlever les données confidentielles s'il y a lieur).

@ te relire

Coucou,

Je n'avais pas vu que le filtre n'était pas désactivé ;-)

Je te confirme, ta solution est exactement le résultat recherché! (à un détail près, la ligne 5121 doit toujours être la 2ème ligne et non la première)

Je peux envoyer le fichier csv source tel que je le télécharge de ma banque, j'ai bien compris l'idée d'automatisation à l'extrême.

J'ai un sérieux retard de connaissance, je vais essayer de regarder quelques tutos pour voir si j'arrive à raccrocher des wagons histoire de comprendre le fonctionnement car on peut certainement optimiser encore davantage plutôt que de tout mettre en 470. (tout ce que je mets en 470 devra être retravaillé directement sur le logiciel de compta avec le bon code)

Je te tiens au courant, merci encore

Re-,

Ok, pas de soucis pour la position du compte 5121.

Si tu as d'autres paramètres à prendre en compte, n'hésite pas à les donner, et on traitera toutes les données de ton futur csv en fonction.

Bonne journée

Merci Chris, et merci à tous ceux qui m'ont aidé!

Ce fichier va me faire gagner un temps considérable, lorsque j'aurai un peu plus de temps (en janvier) je reviendrai certainement vers vous pour automatiser encore plus mes saisies.

Merci merci merci

Et bon dimanche!

PS je voudrais clôturer le sujet, mais je n'ai pas trouvé comment le faire...?

Rechercher des sujets similaires à "automatiser saisie compta partir fichier csv"