Recopie automatique ligne entiere cpte banque sur comptes charges ou produi

Bonjour,

Je pense avoir fait une erreur de saisie : mon message n'est pas enregistré.

je recherche comment recopier automatiquement une ligne entière (date-mode règlement-libellé-somme) saisie sur un compte banque avec code générant compte d'exploitation, vers compte de charge ou produit correspondant (actuellement ressaisi manuellement).

En P.J. extrait de ma saisie manuelle.

Avec mes remerciements

Cordialement

bonjour

ne pas "recopier"

Excel fait autrement : des TCD

voir un exemple ici

https://forum.excel-pratique.com/viewtopic.php?f=3&t=114867

si tu as besoin, ajoute ta table des codes, et un RECHERCHEV dans une colonne supplémentaire de la table de saisie pour y reporter le code

et tu fais un TCD pour voir les états par code

bon travail

amitiés

bonne année°

Bonjour Adrienjane, jmd,

je te retourne ton fichier modifié :

* tu peux voir que tous les comptes sont vides : aucune opération ➯ Total = 0,00

* sélectionne n'importe quelle cellule de la ligne 8, par exemple A8 ; fais Ctrl l (L minuscule)

lis le texte de la boîte de dialogue, puis appuie sur la touche Espace (ou clic / bouton OK)

* sélectionne n'importe quelle cellule de la ligne 30, par exemple A30 ; fais Ctrl e

comment ? c'était pas là qu'il fallait écrire l'opération ? j'me suis trompé d'compte ?

oh, ben ça a effacé l'opération erronée ! magique, hein ?

* sélectionne n'importe quelle cellule de la ligne 23, par exemple A23 ; fais Ctrl e

ah oui, cette fois, c'est au bon endroit ! et comme tu sais qu't'as droit à l'erreur,

tu peux être moins stressée ! on peut donc faire la suite plus rapidement :

* sélectionne A13 ; Ctrl l puis Espace ; sélectionne A24 ; Ctrl e ; Total : 156,37

* sélectionne A9 ; Ctrl l puis Espace ; sélectionne A30 ; Ctrl e ; Total : 406,00

* sélectionne A10 ; Ctrl l puis Espace ; sélectionne A37 ; Ctrl e

* sélectionne A11 ; Ctrl l puis Espace ; sélectionne A38 ; Ctrl e ; Total : 469,76

* sélectionne A12 ; Ctrl l puis Espace ; sélectionne A47 ; Ctrl e ; Total : 627,29


oui, je sais, par moments, le Mode Règlt ou le libellé ont été écrits légèrement différemment

pour correspondre à tes désignations initiales : ça aussi, c'est la magie du VBA !


Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Bonsoir,

Merci pour les informations.

Je n'arrive pas à obtenir de résultat......

Je laisse tomber....

Je vais continuer à faire une double saisie . Après tout le nombre d'écritures annuel est peu important (il s'agit d'une comptabilité d'une petite association). Je voulais gagner du temps et mieux utiliser excel.

Mais du temps j'en ai ...!!!!

Encore Merci

Amitiés

Bonjour Adrienjane,

tu a écrit :

Je n'arrive pas à obtenir de résultat......

qu'est-ce qui n'a pas marché ? précise ce que tu as écrit.


je ne comprends pas, car ça marche très bien sur mon pc, et ça fait ce que tu as demandé, en 2 temps :

* temps 1 : sélectionner une cellule d'une ligne d'opération du Compte Banque (8 à 13) ; faire Ctrl l (L minuscule pour Lecture)

➯ comme indiqué par la fenêtre « Infos lues » ça lit les infos de la ligne (et ça les met dans des variables)

* temps 2 : sélectionner la destination : une cellule d'une ligne vide d'un des comptes de charges ou produits ; Ctrl e

➯ ça écrit les infos lues au temps 1 : des variables dans le compte dont tu as sélectionné la bonne cellule

j'ai même ajouté un effacement d'une écriture du compte déjà existante : c'est ton droit à l'erreur (pour pouvoir corriger une éventuelle erreur d'imputation de compte) ; y'a aussi une sécurité pour ne pas effacer autre chose qu'une opération d'un compte de charges ou produits.

si les 2 macros ne se lancent pas par les raccourcis clavier Ctrl l et Ctrl e, fais Alt F8 :

screen

choisis la bonne macro (mais n'oublie pas de sélectionner la bonne ligne avant de faire Alt F8)

c'est LitOp qui lit les infos d'une opération ; et c'est l'autre macro qui écrit ou efface une opération.


dans ton fichier joint, tout est organisé sur une seule feuille de calcul ; est-ce que c'est pareil dans ton vrai fichier ? ou c'est en 4 feuilles : 1 feuille pour le Compte Banque ; 1 feuille pour les comptes de charges ; 1 feuille pour les comptes de produits ; 1 feuille pour la Table des Codes ... ou peut-être une autre organisation ?

ne laisse pas tomber si vite ! il faut être un peu plus persévérant avec Excel et VBA ! j'espère te lire bientôt pour la suite.

amitiés,

dhany

Bonjour Dhany...

Merci pour ta nouvelle réponse.

Effectivement j'ai 4 feuilles comme tu viens de le mentionner. (un manque de précision de ma part!!).

Je vais faire un nouvel essai. Mais suis preneur de ta 2ème solution.

Amicalement.

Adrienjane

Bonjour Dhany...

Malgré tes précisions ... et plusieurs essais...toujours pas de résultat.

Encore merci.

Amitiés

Adrienjane

Bonjour Adrienjane,

peux-tu préciser ce qui ne marche pas ?

dhany

ajout :

ça marche pas seulement dans ton vrai fichier ou aussi dans le fichier que j'avais joint ?

est-ce que les macros se lancent ? ou même pas ?

peut-être que tes macros sont désactivées ?


[quote="dans ton post du 10 janvier à 18:14, tu"]Je n'arrive pas à obtenir de résultat......[/quote]

[quote="dans ton post de ce jour à 16:09, tu"]Malgré tes précisions ... et plusieurs essais...toujours pas de résultat.[/quote]

je te rappelle que ça marche très bien sur mon PC, et pour pouvoir t'aider davantage,

tu dois indiquer clairement ce qui ne vas pas !

dire simplement « ça ne marche pas » est bien trop vague !!!

à te lire pour la suite.

dhany

screen

j'ai d'abord sélectionné A8 ; puis j'ai fait Ctrl l (pas i majuscule mais L minuscule ; c'est le l de LitOp) ➯ la fenêtre indiquée par la flèche rouge doit apparaître ; c'est la confirmation que les infos de l'opération ont été lues (d'où le titre de la fenêtre).

as-tu cette fenêtre ou non ? si cette fenêtre n'apparaît pas, il faut trouver pourquoi :

1) peut-être qu'avant de faire Ctrl l tu n'as pas sélectionné une cellule de la ligne 8 ?

2) peut-être que tes macros sont désactivées ? et dans ce cas faut que tu actives les macros sur ton PC !

3) peut-être c'est juste le raccourci clavier Ctrl l qui ne marche pas ? dans ce cas, utilise Alt F8

4) peut-être que c'est autre chose qui n'est pas bon ? si oui, quoi ?


dans la fenêtre, j'ai repris seulement le n° de ligne et le montant de l'opération ; c'est volontairement que j'ai pas mis les autres infos de l'opération pour éviter une fenêtre trop chargée, mais toutes les infos utiles ont bien été lues ; alors si c'est ça qui te gêne, ne t'en préoccupe pas et fais la suite : tu verras que ça sera ok.

dhany

Bonjour Dhany,

. ça fonctionne !!!

Les Macros étaient désactivées.

Merci encore pour ton aide.

Amitiés

Adrienjane

Bonjour Adrienjane,

tu a écrit :

Ça fonctionne !!!

Les Macros étaient désactivées.

Merci encore pour ton aide.

merci pour ton retour, et pour avoir indiqué la raison pour laquelle ça ne marchait pas ! j'suis bien content qu't'aies réussi à activer les macros ! quand des macros VBA peuvent être aussi pratique, c'est bien dommage de s'en passer juste pa'c'que les macros n'ont pas été activées !

merci aussi pour avoir passé le sujet en résolu ; mais n'oublie pas que je vais proposer plus tard une 2ème solution, qui sera complètement différente de la 1ère ; je sais pas encore si ça va marcher, mais si oui, je crois que tu seras épatée !

ça va me prendre beaucoup de temps, mais si ça marchera, « le jeu en vaut la chandelle » ; même si tu m'écris que tu te contentes de la 1ère solution, je vais quand même essayer de faire la 2ème solution, que je posterai pour toi et / ou les autres lecteurs du forum.


pour info, si tu veux écrire un c cédille majuscule : appuie sur la touche Alt gauche, et maintiens-la enfoncée ; sur le pavé numérique, tape 0199 et relâche la touche Alt ➯ Ç

amitiés,

dhany

Re...bonjour,

Merci encore !!

A bientôt.

Amitiés

Adrienjane

Bonjour Adrienjane,

je t'ai pas oubliée : la 2ème solution est prête !

voici le fichier .xls (102 Ko) :

le même fichier .xlsm (31 Ko) :

* à l'ouverture du fichier, tu es sur la 3ème feuille "Produits" ; note qu'il y a 1 seul compte, et y'a aucune opération.

* va sur la 2ème feuille "Charges" ; note qu'il y a 3 comptes, et y'a aucune opération.

* va sur la 1ère feuille "Banque" ; tu peux voir ton compte banque ; les 3 anciennes macros n'existent plus ; à la place, il y a la seule macro Ventiler(), qui doit être exécutée à partir de cette feuille uniquement. (ça fera rien du tout sur les autres feuilles, mais c'est normal)

* pour lancer la macro Ventiler(), fais Ctrl e (ou via Alt F8) ➯ c'est fait : toutes les opérations du compte banque ont été correctement écrites dans les bons comptes. (ce que je te laisse vérifier)

* va sur la 4ème feuille "Codes" ; note que le compte 661 est « INTERETS EMPRUNT CREDIT MUTUEL » ; mais comme tu as mis le compte de charges « Emprunt CREDIT MUTUEL », c'est ce qui a nécessité la colonne supplémentaire pour pouvoir le trouver ; utilise cette colonne C uniquement si l'intitulé du compte est différent ; autre exemple : pour 63512, il y a « TAXE FONCIERE » ; mais en feuille "Charges", ce même compte porte l'intitulé « Impôts », et comme sur cette feuille y'a pas de numéro de compte, faut bien utiliser le bon intitulé pour détecter le compte correct à utiliser ; pour 60612, la seule différence est le point final !

* sur chaque feuille, tu peux vérifier avec l'Aperçu avant impression que c'est prêt à être imprimé.


passons maintenant aux mauvaises nouvelles, car oui, hélas, il y en a : ça ne crée pas de nouveaux comptes, donc c'est à toi de bien veiller à ce qu'ils soient déjà présents sur la feuille adéquate "Charges" ou "Produits" ; de plus, pour un compte trouvé, ça ajoute une opération sous les autres déjà présentes sur la ligne de la 1ère cellule vide rencontrée, et c'est à toi de veiller soigneusement à ce qu'il y ait suffisamment de lignes vides pour toutes les opérations à ajouter (suggestion : envisager peut-être une dizaine de lignes vides pour chaque compte ?) ; si le compte pour une opération donnée n'existe pas, y'aura pas de plantage, mais l'opération ne sera pas écrite : elle sera sautée, purement et simplement ; il va sans dire que la règle comptable « Total Débits = Total Crédits » ne sera pas respectée ! aussi, fais très attention aux infos que tu mets en feuille "Codes" : une erreur d'un caractère ➯ le compte ne sera pas trouvé, et les opérations qui le concernent sauteront (mais si tu mets une minuscule au lieu d'une majuscule, ou inversement, ça ne gênera pas) ; n'oublie pas d'utiliser au besoin la colonne C, si l'intitulé du compte est différent.

ATTENTION : toutes les précautions ci-dessus doivent être prises avant de lancer la macro ! si tu n'es pas sûre de les respecter, ou si tu risques de les oublier, il vaut peut-être mieux que tu n'utilises pas cette 2ème solution et que tu te contente de la 1ère solution ; je me dégage de toute responsabilité en cas de mauvaise utilisation de ta part !

ne me demande pas de pallier à tous les défauts décrits ci-dessus : je fais juste quelques petites macros VBA, je n'ai aucune prétention à écrire un logiciel comptable intégral !

toutefois, si tu as besoin de légères adaptations de ce qui a déjà été fait, n'hésite pas à me demander : tu peux compter sur moi.

à te lire pour avoir ton avis, et dis-moi aussi quelle solution tu préfères.

amitiés,

dhany

Bonjour Dhany,

Bravo....C 'est super

Dernière solution retenue, elle va dans le sens de ce que je recherchais, mais que je n'avais peut-être pas très bien exprimé.

Merci encore.

Amitiés.

Adrienjane

Bonjour Adrienjane,

merci pour ton retour ! j'suis ravi qu'tu aies apprécié et retenu ma 2ème solution !

merci aussi pour avoir passé le sujet en résolu.

amitiés,

dhany

Bonjour Adrienjane,

ton exo est tellement intéressant que finalement, j'l'ai continué :

à l'ouverture du fichier, tu es sur la 3ème feuille "Produits" ; comme avant, il y a un seul compte, mais regarde bien ce qui a changé en ligne 3 : l'entête du compte n'est plus en A3:D3 et centré mais en D3 et aligné à droite ; j'ai fait cela pour pouvoir ajouter en A3 le numéro du compte, aligné à gauche : 791 ; bien sûr, il a obligatoirement fallu défusionner les cellules A3:D3.

attention : maintenant, la recherche d'un compte ne se fait plus selon l'intitulé du compte mais selon son numéro ; gros avantage : comme c'est des chiffres, c'est indépendant de l'orthographe, donc le risque de ne pas trouver un compte disparaît pour ces différents cas : oubli d'un caractère, ou caractère en trop (lettre, point ou autre signe de ponctuation) ; lettre non accentuée au lieu de lettre accentuée, ou inversement ; frappe d'un caractère à la place d'un autre ; mais tu dois quand même taper les bons chiffres du numéro de compte !


va sur la 2ème feuille "Charges" ; là aussi, il y a un seul compte, et pour son entête, c'est pareil que ci-dessus. que tu aies écrit "E.D.F." ou "E.D.F" (avec ou sans point final), peu importe : ça trouvera le compte grâce à son numéro : 60612 ; c'est mieux, non ?


va sur la 1ère feuille "Banque" ; elle est inchangée, y'a aucune modif ; fais Ctrl e ; oh, miracle ! ça a ajouté automatiquement 2 autres nouveaux comptes ! t'as plus à te soucier si un compte est déjà créé ou non : ça le créera tout seul, et le risque de voir des écritures sauter car tu aurais oublié de créer le compte adéquat disparaît.

note qu'un nouveau compte créé comporte 3 lignes d'opération seulement ; c'est pas beaucoup, hein ? bon, vérifie que toutes les écritures du compte Banque ont bien été reportées correctement dans tous les comptes ; c'est ok ? tout y est ? parfait ! retourne maintenant sur la 1ère feuille "Banque" ; fais Ctrl e ; mais oui : pour les 2 comptes 60612 et 661, ça a ajouté une nouvelle ligne ! c'est pas génial, ça ? t'as plus à t'soucier non plus si un compte contient suffisamment de place ou non pour les nouvelles opérations !


va sur la 4ème feuille "Codes" ; cette feuille aussi est inchangée, et comme la recherche d'un compte se fait par son numéro et non plus par son intitulé, on aurait pu la supprimer ! sauf qu'elle est quand même obligatoire lors de la création automatique d'un nouveau compte, pour pouvoir mettre le bon intitulé du compte ; donc il te reste tout d'même une précaution à prendre avant de lancer la macro : tenir soigneusement à jour cette liste de comptes, en y ajoutant toutes les infos correctes pour chaque nouveau compte : un numéro de compte ; un intitulé ; et facultativement un autre intitulé de compte (qui sera alors prioritaire sur le 1er intitulé, comme c'est déjà le cas pour par exemple le compte 661 : INTERETS EMPRUNT CREDIT MUTUEL en B14 ; et Emprunt CREDIT MUTUEL en C14).

et si t'oublies ? t'inquiètes pas, c'est pas dramatique : dans ce cas, l'intitulé du compte sera tout bêtement un point d'interrogation « ? » ; t'auras juste à « rectifier le tir » après-coup, quand tu t'en apercevras : saisir un intitulé de compte à la place du « ? », puis mettre à jour la feuille "Codes" ; ça ne servira pas, car le compte a déjà été créé, mais c'est juste pour avoir une liste des comptes à jour.


côté programmation VBA, tout le Module2 est pour la création d'un nouveau compte : 65 lignes ; et pour l'insertion de nouvelles lignes, c'est intégré dans Module1, tout en haut : c'est la sub InsLine().

dhany

Bonsoir Adrienjane,

relis mon post précédent, car j'ai modifié certains passages ; dans ton vrai fichier :

1) supprime le code VBA actuel de Module1 et fais un copier / coller du nouveau code VBA du 1er module.

2) Alt i m pour insérer un nouveau module, qui sera nommé Module2 ; fais un copier / coller du code VBA du 2ème module.

3) Alt F11 pour retourner sur Excel ; Alt F8 pour remettre le raccourci clavier Ctrl e, mais n'exécute pas déjà la macro !

4) avant de lancer la nouvelle macro, tu dois d'abord modifier l'entête de tous tes comptes ; voici un exemple pour le compte de produits "Participation MARCHES" :

fais un clic droit sur A3 ; item « Format de cellule » ; onglet « Alignement » ; décoche « Fusionner les cellules » ; dans la barre de formule, sélectionne tout l'intitulé ; Ctrl x ; sélectionne D3 ; Ctrl v ; mets un alignement à droite ; sélectionne A3 ; saisis le n° du compte : 791 puis mets un alignement à gauche ; rappel : Ctrl x / Ctrl v = couper / coller.

si tu repasses par ici, merci de me donner ton avis.

dhany

Bonjour Dhany,

Merci de t'investir sur mon cas.

Ta dernière solution est très séduisante.

Mon manque d'expérience fait que je n'arrive pas à la mettre en pratique.

J'ai téléchargé les feuilles de ta dernière solution et essayer d'ajouter des écritures.

Regarde le résultat.... ou est mon erreur ?

Merci

Bonne journée

Amicalement

Bonsoir Adrienjane,

j'ai vu ton nouveau fichier ; côté VBA, tout est bon : tu as fait tout ce qu'il fallait. côté Excel :

* feuille "Banque" : j'ai vu que tu as ajouté 2 nouvelles opérations pour le compte 791, de 1 000,00 € et 5 000,00 €

* feuille "Charges" : les 3 comptes montrent que tu as lancé la macro 5 fois ➯ y'a eu 5 reports des opérations de charges du compte Banque, avec les bons montants : ok

* feuille "Produits" : pour les 3 montants 627,29 ; 1 000,00 ; 5 000,00 (ceux de Compte Banque / Recette) : tu aurais dû avoir 5 reports de ces 3 montants, donc 15 montants en tout ; au lieu de ça, tu as 627,29 (2×) ; 1 000,00 (2×) ; 3 000,00 (1×)

* j'sais pas trop c'que tu as fait, mais pour moi, la macro est ok ; le report des opérations est effectué correctement : j'ai remis les comptes comme ils sont initialement dans mon fichier précédent, donc 1 seul compte de charges et un seul compte de produits, sans aucune opération (3 lignes vides) ; puis après avoir fait Ctrl e (4×), j'ai ceci :

screen 1 screen 2

fonction d'ajout d'un nouveau compte : ok ; fonction d'insertion d'une nouvelle ligne : ok ; pour le compte 791, note que le 3ème montant est bien de 5 000,00 et pas 3 000,00.


dès le départ, mon code VBA est conçu pour reporter toutes les opérations du compte Banque dans les comptes de Charges et Produits ; ça ne cherche pas à faire ce job pour par exemple seulement les opérations du mois de janvier ; dans les comptes Charges et Produits, ça met les opérations en dessous de celles qui y étaient déjà.

en conséquence, la macro est prévue pour cette utilisation : tu saisis dans le compte Banque toutes les écritures d'un mois donné, puis à la fin du mois, tu fais Ctrl e pour transférer les opérations du compte Banque dans les autres comptes Charges et Produits ; au début du mois suivant, tu effaces les opérations déjà existantes dans le compte Banque, puis tu saisis toutes les opérations du mois en cours ; Ctrl e ; et ainsi de suite chaque mois (tu dois faire Ctrl e une seule fois par mois, pas plus !).


s'il faut éviter d'avoir à effacer au préalable les écritures du compte Banque (afin d'éviter un report des mêmes opérations à chaque fois qu'on lance la macro), alors il faudrait modifier le code VBA pour reporter dans les comptes les seules opérations du dernier mois ; est-ce bien cela que tu aimerais ? ou un autre fonctionnement ?

à te lire pour la suite.

dhany

Rechercher des sujets similaires à "recopie automatique ligne entiere cpte banque comptes charges produi"