trier des données et créer des sous-totaux en vba dans un tableau

cgpa

XLDnaute Occasionnel
Bonjour le forum,
Mon problème fait partie d'un exercice plus vaste mais il est ici "allégé" car la plupart du travail est terminé (Merci à Chalet53 pour son aide des différentes feuilles non reprises ici pour alléger le fichier type).
A partir d'une feuille de données "Livre journal", je cherche à créer automatiquement un tri de données, puis un sous-total et enfin je désire insérer des totaux aux différentes parties du tableau ainsi réalisé. Mais les données changent en fonction des exercices et je ne parviens pas à extraire les données selon les besoins de présentation du tableau.
Pouvez-vous regarder la feuille "Bilan vierge" dans laquelle j'explique la démarche, les problèmes rencontrés, et l'objectif à atteindre? Merci beaucoup pour votre aide, parfois un simple coup de pouce suffit à enclencher la mécanique!
 

Fichiers joints

cgpa

XLDnaute Occasionnel
bonjour
cgpa 1ère et 2ème partie,code dans module11
mis le résultat en AA de feuille bilan vierge
Merci beaucoup Bebere! Cela répond à mon problème et je vais pouvoir avancer dans ma présentation de bilan. Génial! Même si je ne comprends malheureusement pas tout le langage que tu as écris. Je te reviendrai assurément, encore merci.
 

cgpa

XLDnaute Occasionnel
bonjour
cgpa 1ère et 2ème partie,code dans module11
mis le résultat en AA de feuille bilan vierge
Rebonjour Bebere,
J'ai pu adapter mon fichier et il est quasi fini. Merci pour ton code. J'ai modifié la deuxième partie en >=6 car le code ne reprenait que les chiffres supérieurs à 6 mais pas le 6. Par contre, avec cela, j'ai un souci dans la première partie (ListeSansDoublons() '<6) : lorsque j'envoie la macro le dernier résultat dans la balance apparaît, sauf le nom du libellé!? Peux-tu jeter un œil? Le code est dans le module 8, la feuille concernée s'appelle "balance finale" et la feuille de départ s'appelle "livre journal". Encore merci!
 

Fichiers joints

cgpa

XLDnaute Occasionnel
Merci beaucoup Bebere! Cela répond à mon problème et je vais pouvoir avancer dans ma présentation de bilan. Génial! Même si je ne comprends malheureusement pas tout le langage que tu as écris. Je te reviendrai assurément, encore merci.
Merci beaucoup Bebere! Cela répond à mon problème et je vais pouvoir avancer dans ma présentation de bilan. Génial! Même si je ne comprends malheureusement pas tout le langage que tu as écris. Je te reviendrai assurément, encore merci.
Rebonjour Bebere,
Le problème est plus conséquent: les données de la colonne "libellé" son décalées par rapport à la colonne n°compte. Je ne comprends pas la raison... peux-tu jeter un œil?
 

Bebere

XLDnaute Barbatruc
bonjour
cgpa changé le code pour le cas 1 to 5
changé la formule en colonne i de livre journal pour avoir du numéric
j'ai remarqué en mettant a(i,9) >=1 or a(i,9)<6 ou a(i,9)<6 (sans boucle)donnait d'autres résultats
pas trouvé la raison
attention pour changer l'autre
 

Fichiers joints

cgpa

XLDnaute Occasionnel
bonjour
cgpa changé le code pour le cas 1 to 5
changé la formule en colonne i de livre journal pour avoir du numéric
j'ai remarqué en mettant a(i,9) >=1 or a(i,9)<6 ou a(i,9)<6 (sans boucle)donnait d'autres résultats
pas trouvé la raison
attention pour changer l'autre
Merci Bebere, cela fonctionne parfaitement. J'ai pu adapter le code pour la 2ème partie et j'ai renommé le tableau de la feuille "Livre Journal" pour que la macro renvoie les données des nouvelles lignes insérées dans le tableau et pas uniquement celles des lignes 6 à 178: a = Worksheets("livre journal").Range("Tableau1"). Un tout grand merci pour ta collaboration!
 

cgpa

XLDnaute Occasionnel
bonjour
cgpa changé le code pour le cas 1 to 5
changé la formule en colonne i de livre journal pour avoir du numéric
j'ai remarqué en mettant a(i,9) >=1 or a(i,9)<6 ou a(i,9)<6 (sans boucle)donnait d'autres résultats
pas trouvé la raison
attention pour changer l'autre
Bonjour Bebere,
Merci pour ton aide.
J'essaie encore d'améliorer ce fichier qui est déjà très bien.
Je bug ici sur trois bêtises, mais c'est vraiment énervant.
Accepterais-tu de regarder la feuille "livre journal" sur laquelle j'ai indiqué mes trois soucis? Cela relève de l'envoi de données par un userform3. Mes connaissances d'autodidacte ne sont apparemment pas assez développées... Merci si tu me lis.
 

Fichiers joints

cgpa

XLDnaute Occasionnel
bonjour
les données sont en tableau(listobject)
il existe d'autres possibilités pour remplir
Merci Bebère. J'ai dû adapter la plage de société mais pour le reste, cela répond parfaitement. Par contre, je me rends comptes aux essais que j'ai un problème avec l'envoi de la balance finale (module 8). La macro Envoi_balance_finale() tout en dessous du module 8 appelle trois macros. Le problème se situe si on n'a pas de données valables pour l'une des deux macros appelées "ListeSansDoublons" ou "ListeSansDoublons1", cela bug. Il faudrait pouvoir dire au code que si j= 1 to 5 (listeSansDoublons) ne donne rien alors on quitte; de même pour j = 6 to 10 (listeSansDoublons1). Comment faire?
 

cgpa

XLDnaute Occasionnel
bonjour
cgpa il y avait une erreur en colonne i,mis un mot dans feuille
regarde si çà peut convenir,pour le code module8 juste un test sur d.count
mis un message pas de données
Bonjour Bebere,
C'es une amélioration, merci. Je remarque quand même qu'il y a un problème à certains moments et je ne comprends pas. Par exemple j'ai encodé des opérations dans le fichier annexé et la balance bug quand même pour l'envoi des données dans la 2ème partie ("l'indice n'appartient pas à la sélection" dans ListeSansDoublons1() du module 8.) En plus, je dois mettre une date bidon en première date de tableau sinon ça ne fonctionne pas (mais là, ce n'est pas un souci). Enfin, je ne comprends pas que maintenant la feuille "grand livre client" ne renvoie plus le bon résultat en B16. Peux-tu regarder? Merci beaucoup pour ton aide précieuse.
 

Fichiers joints

Bebere

XLDnaute Barbatruc
bonsoir
cgpa fait plusieurs changements dans le code
1 si tableau vide
2 dans listesansdoublon si le tableau final ne contient qu"une ligne
pour B16 pas trouvé(que doit il y avoir).Dis m'en plus si tu as encore des problèmes
dans le fichier j'ai ajouté une feuille pour les remarques
 

Fichiers joints

cgpa

XLDnaute Occasionnel
bonsoir
cgpa fait plusieurs changements dans le code
1 si tableau vide
2 dans listesansdoublon si le tableau final ne contient qu"une ligne
pour B16 pas trouvé(que doit il y avoir).Dis m'en plus si tu as encore des problèmes
dans le fichier j'ai ajouté une feuille pour les remarques
Merci Bebere pour le temps consacré. Je vais étudier cela et te reviendrai.
 

cgpa

XLDnaute Occasionnel
bonsoir
cgpa fait plusieurs changements dans le code
1 si tableau vide
2 dans listesansdoublon si le tableau final ne contient qu"une ligne
pour B16 pas trouvé(que doit il y avoir).Dis m'en plus si tu as encore des problèmes
dans le fichier j'ai ajouté une feuille pour les remarques
Bonsoir Bebere,
Merci pour ces modifications. J'ai effectué plusieurs test et cela fonctionne très bien à partir de la feuille d'essais telle qu'elle était dans le fichier. Mais lorsque je démarre sur une feuille "vierge", car c'est le but final, il y a un problème: voir explication dans la feuille que tu as ajoutée. J'ai recherché dans le code mais j'avoue que maintenant, cela me dépasse car je suis un petit autodidacte... Peux-tu regarder? Merci beaucoup, et d'avance je te souhaite de joyeuses fêtes de fin d'année si tu es de ceux qui fêtent.
 

Fichiers joints

cgpa

XLDnaute Occasionnel
bonjour
cgpa tu trouveras le code de commandbutton2 en commentaire et un autre avec listobject
pas besoin d'ajouter de 0,il suffit de faire un test sur B3
Merci beaucoup Bebere, cela fonctionne maintenant à merveille à partir d'un fichier vide.
Je viens d'effectuer des essais et tout semble ok de ce côté. Je vais pouvoir avancer encore un peu. Encore merci pour ton aide!
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas