Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Generer comptes par vba

soumus

XLDnaute Junior
Heureux de vous reconnecter pour avoir votre aide sur un.projet vba.
Bonjour à tous
je cherche un code VBA pour générer les "comptes courant Traité" des reassureurs à partir des informations contenues dans la Feuille RECAP en copiant et collant en cascade quelques lignes aprés en dessous du "compte courant Traité" ici présenté, ce meme compte courant.
Je dois dupliquer ce même "compte courant Traité" pourchaque branche (Ind Acc & Risques Divers.corps;facultés;risques techniques; 1er EDP;2eme EDP) et pour chaque Execice considérés (2011,2012,2013,2014,2015,2016,2017, etc) tout ceci en prenant soin de renseigner les celules spécifiées dans l'exemple à partir des informations de la feuille RECAP.
je cherche un code VBA pour générer les "comptes courant Traité" des reassureurs à partir des informations contenues dans la Feuille RECAP en copiant et collant en cascade quelques lignes aprés en dessous du "compte courant Traité" ici présenté, ce meme compte courant.
Je dois dupliquer ce même "compte courant Traité" pourchaque branche (Ind Acc & Risques Divers.corps;facultés;risques techniques; 1er EDP;2eme EDP) et pour chaque Execice considérés (2011,2012,2013,2014,2015,2016,2017, etc) tout ceci en prenant soin de renseigner les celules spécifiées dans l'exemple à partir des informations de la feuille RECAP.
je cherche un code VBA pour générer les "comptes courant Traité" des reassureurs à partir des informations contenues dans la Feuille RECAP en copiant et collant en cascade quelques lignes aprés en dessous du "compte courant Traité" ici présenté, ce meme compte courant.
Je dois dupliquer ce même "compte courant Traité" pourchaque branche (Ind Acc & Risques Divers.corps;facultés;risques techniques; 1er EDP;2eme EDP) et pour chaque Execice considérés (2011,2012,2013,2014,2015,2016,2017, etc) tout ceci en prenant soin de renseigner les celules spécifiées dans l'exemple à partir des informations de la feuille RECAP.
 

Pièces jointes

  • Générer comptes courant.xlsm
    24.7 KB · Affichages: 5

Zon

XLDnaute Impliqué
Salut,

Tu es très explicite, mais tu as 4 reassureurs , on reporte toujours le même montant pour les 4
EX:43309 pour 2012 en Ind Acc. ???

Cela veut dire qu'il faut créer au total 6 branches X12 années (2011 y a rien) X4 Réassureurs.
Heureusement qu'il faut pas le faire au mois....

pour la sortie:

1 classeur par année avec 6risquesX4 soit 24 feuilles.. ????

Merci pour ton retour.

A+++
 

soumus

XLDnaute Junior
Bonjour
Les montant changent chaque fois suivant la branche et l' Execice consideré. Si je prends l exemple de
Bonjour
Les montants changent chaque fois suivant la branche et l' Execice consideré. Si je prends l exemple de la Branche Ind Acc & Risques divers on remarque que pour les exercices 2011,2013,2014,2015,2016,2017 que rien n est renseigné sur les 2 tableaux de la feuille RECAP donc inutile de générer un compte courant Traité pour ces exercices là. Par contre pour tous les autres exercices (2011,2018,2019,2020,2021,2022,2023 )des montants sont renseignés sur les 2 tableaux pour ces exercices là, Donc je dois générer un compte courant Traité pour chacun des ces exercices pour la Branche Ind Acc& Risques divers.
Je dois répéter le même jeu pour chaque Branche (corps,Facultés,Risques Techniques,,1EDP,2eme EDP.)

En résumé dans chaque Branche où des données sont bien renseignés je dois générer un compte Traité pour l exercices considéré.
NB: Si dans une Branche, pour un exercice donné un seul des tableaux est renseigné je dois aussi générer un compte pour cet exercice là.
Effectivement il faut créer 6 branches pour 4 reassureurs mais en veillant à bien reporter pour chaque réassureur sa part selon l'année considérée.
Merci de ton aide.
 

Zon

XLDnaute Impliqué
Salut,



Voilà ma proposition.



Toutefois, il y a quelques changements que j’ai apporté à ton fichier.

Tes 3 tableaux de la feuille RECAP, je les ai mis en Tableau Structuré, c’est moins fatiguant en VBA auxquels j’ai ajouté quelques données de test.

Je te conseille à l’import des données de passer par 2 tableaux intermédiaires afin d’épurer des caractères inutiles comme le – (ex pour 2016 pour 1er ED)

Limitation, Comme la chaine « Ind Acc & Risques Divers » fait déjà seule 24 caractères, et que pour le nom des feuilles on a que 31 caractères de dispo j’ai fait le choix de ne garder que les 4 premiers caractere du reassureur.



Avant de tester le code

==>Il faut que les 3 tableaux de RECAP ont le même nombre de lignes.

==>Eviter d’exécuter le code depuis le fichier sur un lecteur réseau ou sur Sharepoint.

==>Ou chez certains à la racine C:\

Les fichiers créés sont stockés au même endroit que le fichier source. Il est assez simple de créer un dossier et de déplacer Generercompte . Car si on lance Genération on écrase les fichier années sans avertissement utilisateur.

==>Même si c’est géré par le code, il faut que les 3 tableaux structurés soient stockés sur RECAP , on peut changer leurs noms , mais il faut aussi changer leur nom pour les constantes Treas, TReg et Tsap dans le module AssuXL



==>Pour le test , on le fait que sur 2011 , c’est indiqué dans le code où il faut changer pour faire toutes les années .

==>Attention : il y a une procédure FermeClasseur qui ferme tous les classeurs ouverts sauf Generer Compte

==> Les fichiers années créés restent ouverts dans Excel , mais là aussi dans le code c’est prévu pour les fermer.



Pour tester :

, ALT F8 , executer Génération





Bons Tests.

Bon on va voir si tu lis jusqu’au bout : Nos primes d’assurances vont pas prendre un claque l’an prochain, vu le montant déjà renseignées en 2023 ???



A+++
 

Pièces jointes

  • Générer comptes ZonV1.xlsm
    48.4 KB · Affichages: 2

soumus

XLDnaute Junior
Bonjour
D abord pour ce travail remarquable,je vais tester le fichier et vous reviens avec mes remarques sur d'éventuels point à améliorer.
Rassurer vous les primes d'assurance ne vont pas changer.
Je te.viens après.
A++++
 

soumus

XLDnaute Junior
Bonsoir
Je vous reviens sur le travail remarquable que vous avez abattu et vous en remercie.
Toutes après analyse du fichier certains points sont à améliorer.
Au fait la finalité de votre Travail c est faire ressortir pour chaque Réassureur dans chacune des branches l ensemble des comptes courants de tous les exercices concernant cette branche.
Donc il faut regrouper sur la même feuille pour le Réassureur SCOR par exemple pour la Branche Ind Acc & Risques tous les comptes courants tous exercices confondus mais l ordre concernant ce Réassureur pour cette branche.
En résumé dans la Feuille "SCOR Ind Acc & Risques Divers" je vais pourvoir retrouver pour cette branche :
- Compte courant Ind Acc & Risques Divers 2011
Compte courant Ind Acc & Risques Divers 2012
Compte courant Ind Acc & Risques Divers 2013
Compte courant Ind Acc & Risques Divers 2014
Compte courant Ind Acc & Risques Divers 2015
Compte courant Ind Acc & Risques Divers 2016
Compte courant Ind Acc & Risques Divers 2017 etc... ainsi de suite jusqu' en 2023 (le dernier exercices )
Dans la Feuille "SCOR Risques Techniques je dois retrouver tous les comptes courants tous exercices confondus concernant cette branche là :

- Compte courant Risques Techniques 2011
Compte courant Risques Techniques 2012
Compte courant Risques Techniques 2013
Compte courant Risques Techniques 2014
Compte courant Risques Techniques 2015
Compte courant Risques Techniques 2016
Compte courant Risques Techniques 2017 etc... ainsi de suite jusqu' en 2023 (le dernier exercices )
Après cela il faut ajouter en fin de chaque feuille deux(2)autre comptes :
Un compte Perte et Profit et
Un compte Courant Réassureur pour la Branche considérée qui fait la synthèse de tout.
Ton travail est bon seulement il faut faire regroupement des comptes par Réassureur et par Branche. Dans chaque Branche on aura sur la même feuille tous les comptes tous exercices regroupés.

NB Si pour un exercice donné y a rien à contater inutile de générer un compte comme j ai déjà eu à le préciser. Par contre si un des tableaux est renseigné on génére automatiquement le compte courant.
J ai joins le fichier avec plus de précisions pour mieux me faire comprendre
Merci
 

Pièces jointes

  • Générer comptes ZonV1_Mes remarques.xlsm
    65.1 KB · Affichages: 2

Zon

XLDnaute Impliqué
Pourtant je t'ai demandé si on créait un fichier par année avec tous les reassureurs...en post 3

Comme toutes les années sont regroupées par REas + branche => On va créer qu'un fichier ou 4 par soit 1 par réassureur.

Je me doutais bien qu'il y aurait des tableaux en plus.=> tu les as mis en produit structuré et c'est tres bien avec de noms explcites....



Je veux bien adapter le code, mais pour ce qui est de la saisie il faut que tu m'aides:

==>Il faudrait qu'il y ait que les comptes courant est un pas(espacement identique).==> actuellement tu commences à 3, le 2eme à 49 , le 3eme à 96, le 4eme à 140 etc .
Si je dois boucler il faut avoir le même écart exactement 3 53 103 143 ....
Mets tous les comptes que tu vas avoir besoin pour toutes les années , on cachera éventuellement les tableaux vides..

Profites en pour t'aligner pour l'impression chez moi il faudrait que je parte de 2 et aller de 50 en 50 ...
de mettre à jour des tableaux ligne 276 branche On a pas le reassureur.

Une fois que tu as fais ceci
===>Il faut que m'identifies toutes les cellules à remplir sur tes 400 lignes

Ensuite dans la Feuille Parametres ,

Tu me mets toutes les cellules qui doivent remplies avec leur correspondance dans RECAP.
Tu le fais pour auto Tpv uniquement: en C20 j'aurai I4.=>regardes dans parametres j'ai fait le Comptecourant1 .

Pas besoin de mettre les cellules avec formules...

==>Tu as du voir que les formules étaient conservées , ton compte ligne 328 à 657 à priori pas besoin d'y toucher.

On passe V1.1...

Bon week end


A+++
 

Pièces jointes

  • Générer comptes ZonV1.1.xlsm
    58.4 KB · Affichages: 2

soumus

XLDnaute Junior
Bonjour
Comme convenu je vous reviens avec le fichier.J ai repris tous les comptes de 2011 à 2023 pour la Branche Ind Acc & Risques Divers à titre d exemple de test.
Aussi j ai respecté le pas entre les différents comptes comme demandé.,toutes les références sont précisées dans la Feuille paramètre.
J ai ajouter 3 autres tableaux dans la Feuille RECAP pour recuperer le Type de Traité, la libération des REC et SAP. dans les comptes
Je reste disponible pour d'autres précisions.
Bon dimanche.
Cordialement
 

Pièces jointes

  • Générer comptes ZonV1.1.xlsm
    77.2 KB · Affichages: 1

soumus

XLDnaute Junior
Bonjour
Comme convenu je vous reviens avec le fichier.J ai repris tous les comptes de 2011 à 2023 pour la Branche Ind Acc & Risques Divers à titre d exemple de test.
Aussi j ai respecté le pas entre les différents comptes comme demandé.,toutes les références sont précisées dans la Feuille paramètre.
J ai ajouter 3 autres tableaux dans la Feuille RECAP pour recuperer le Type de Traité, la libération des REC et SAP. dans les comptes
Je reste disponible pour d'autres précisions.
Bon dimanche.
Cordialement

Pièces jointes​

 

Pièces jointes

  • Générer comptes ZonV1.1.xlsm
    77.2 KB · Affichages: 2

Zon

XLDnaute Impliqué
Salut

Voici une version Beta de la version 1.3 afin que tu testes.

Y a pas mal d'explications dans le fichier et dans le code.
Pour lancer la procédure ALT +F8 , GenrerationV2

La philosophie du Code VBA a changé
==>On recherche les valeurs à reporter par la feuille Parametres et non plus directement dans le code.
Ce sera plus pratique si il y a une adresse de cellule à changer.

J'ai crée 2 tableaux XL( TableauParamLibelle et TableauValeur) pour toutes les Valeurs à reporter (il y en 156 , plus pratique en VBA) , les formules elles se reportent toute seule lors de la copie des feuilles de classeur

Merci pour ton retour.

A+++
 

Pièces jointes

  • Générer comptes ZonV1.3.xlsm
    91.6 KB · Affichages: 3

soumus

XLDnaute Junior
Bonsoir
J ai.bien passé en revue le fichier. D abord merci beaucoup, c est exactement ce que je demandais. Toutefois,j ai des remarques à faire :
1/ Si je comprends bien c' est sur la feuille "Parametres " qu il faut aller en cellules G2,G3 et G5 changer les valeurs relatives au Réassureur, a la Branche, au Traité à reporter par le code. Est ce bien Cela ?
2/ je constate que le code génére les branches à partir d'Ind Acc & Risques Divers ,comment corriger le code au besoin pour que ça génére les branches à partir de Auto TPV jusqu'à la fin (important pour moi.)
3/ Vous avez oublié de mettre l'expression vide ;" "; dans la formule de calcul des REC Constitution .Cela devrait être SI(OU(B7= "Corps";B7="Facultés ");" ";D16*36%).
Si B7 = Corps ou Facultés REC constitution est égale à vide.
NB : J ai corrigé la formule mais après avoir exécuter le code je constate sur ces 2 branches que Xl calcul toujours un montant. Problème à revoir.
4/ Je voulais qu' on ajoute 2 boutons, un bouton pour exécuter le code et un autre pour fermer les feuilles.
5/ Si année prochaine le nombre de Réassureurs ou de branches augmente je n aurai qu'à ajouter des lignes dans les tableaux dans feuille RECAP et Parametres ?
Bien à vous
Cordialement
 

Zon

XLDnaute Impliqué
Salut ,

Je me rends compte que j'ai pas été assez explicite , c'était marqué dans le code , j'aurais du le marquer par des constantes en haut de module. Mais bon il faut toucher au moteur, c'est pas une version commerciale..

Comme indiqué , pas besoin d'y toucher, c'est le code VBA qui change ses valeurs.

2/ je constate que le code génére les branches à partir d'Ind Acc & Risques Divers ,comment corriger le code au besoin pour que ça génére les branches à partir de Auto TPV jusqu'à la fin (important pour moi.)
Dans creationClasseur
il faut créer 9 feuilles au lieu de 6 si tu commence en Auto TPV, donc mettre 8 à la place de 5.

Code:
 Set C = CreationClasseur(ThisWorkbook.Path & "\", TabEnteteReas(1, J) & ".xlsx", 5) 'On crée 1 + 5 feuilles dans le classeur
Pour auto TPV
VB:
'Le 1erre colonne qu'on traite est Ind Accident an colonne 5 , soit 1+4, etc donc mettre K+1
         T = RecupAram(CelReas, CelBranche, NomReas, CStr(TabEnteteReg(1, K + 4)))
et modifié
Le Pivot est la colonne Ind Acc et risques donc K-1 à remplacer par K -4
Code:
V = RecupVal(K - 1)

je mettrais plutot 0 que vide ...
4/ Je voulais qu' on ajoute 2 boutons, un bouton pour exécuter le code et un autre pour fermer les feuilles.
ça tu peux le faire tout seul ? c'est pas trés compliqué depuis le ruban Développeur..
5/ Si année prochaine le nombre de Réassureurs ou de branches augmente je n aurai qu'à ajouter des lignes dans les tableaux dans feuille RECAP et Parametres ?
Oui,
et modifier cette ligne remplacer le 5 par UBound(TabEnteteReas, 2) pour le nombre de reassureur.
Code:
  For J = 2 To 5 'UBound(TabEnteteReas, 2) 'En V2 on crée 1 classeur par Reassureur soit 4

Bien à vous
Cordialement
A+++
 

soumus

XLDnaute Junior
Bonsoir ZON
j ai modifié les lignes de code comme indiqué mais j ai un.meddage d erreurs sur la ligne de code:
V= RecupVal( K-4) en remplacement de (K-1).
Et quand je force le code en mettant " On error Résumé Next " ça génére les branches sauf AutoTpv ,Auto VP et RC et en.plus les noms de Branches ne sont pas correctement générés dans les comptes pour le Corps et Facultés.
SVP est ce que vous pouvez vérifier à votre niveau .
Merci
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…