Microsoft 365 Analyse de données, copie conditionnée

Max

XLDnaute Nouveau
Bonjour à Tous,

J'ai essayé de bidouiller des codes VBA avec l'aide de Copilot (AI). J'ai pu réussir à faire certaines choses mais je suis bloqué.

J'apprécierai l'aide de la communauté sur mon fichier qui est joint au post.

Sur le fichier joint, vous avez 5 feuilles :
  • TB : Balance générale
  • GL : Grand-livre
  • MD : Feuiille modèle (en veryhidden)
  • Plan comptable (en veryhidden)
  • Base liste qui sert juste à créer une liste déroulante (en veryhidden)
et trois boutons sur la feuille TB qui exécutent des macros :

- Générer les feuilles d'analyses : Crée une feuille d'analyse de compte en copiant la feuille modèle pour certains comptes qui figurent dans la TB (informations de la colonne A)
Jusque là ça marche. Mais je sais que ça pourrait être optimisé. J'apprécierai votre aide là-dessus.

- Lancer l'analyse : Copie à partir du grand-live (feuille GL) chaque ligne en fonction du numéro de compte et le colle sur la feuille correspondant au numéro de compte qui a été généré. La condition de la copie c'est que sur la colonne L (toujours sur la feuille GL), si elle est vide (pas de lettrage), la macro effectue la copie sinon pas de copie.
Par ailleurs, la macro insère une quantité de ligne dans le tableau de la feuille d'analyse afin de ne pas écraser les autres informations lors du collage.
Voilà ce que je souhaiterais que la macro fasse, mais ça ne marche pas du tout. J'apprécierai grandement votre aide sur ce point.

- Reset : pour réinitialiser le fichier
Là également ça fonctionne. Mais ça pourrait être toujours optimisé

Merci d'avance pour votre aide !
 

Pièces jointes

  • Analyse de comptes_300924_vbeta - Copie.xlsm
    146.9 KB · Affichages: 3

vgendron

XLDnaute Barbatruc
Bonjour

bah déjà... tu devrais oublier Copilot.... meme pas foutu de te suggerer de passer tes tableaux en Tables Structurées

Ensuite.. il faudrait que tu explicites un peu plus sur quelles macros, il faut intervenir, en expliquant ce qu'elles sont censées faire
 

vgendron

XLDnaute Barbatruc
sur ta macro "CreateSheetsAndFormulas"
1) tu n'utilises pas bien ta feuille modèle
=> plutot que créer une feuille vierge, puis faire un copier cller du modèle vers la feuille vierge..
tu peux directement copier le modlèle, tu lui donnes le nom et tu remplis

2) si j'ai bien compris, tu créés toutes les feuilles pour tous les comptes de la colonne A
PUIS tu mets une formule pour le solde.. PUIS si le solde est N/A.. tu supprimes la feuille du compte concerné..
ce serait plus efficace de mettre la formule AVANT, puis tu créés la feuille si le solde est ok..
 

vgendron

XLDnaute Barbatruc
Voir PJ
1) Feuille TB: j'ai transformé tes données en Table Structurée (TS) que j'ai appelée "t_TB"
==> dans VBA, on exploite cette structure = Listobjects("t_TB")

2) Feuille Modèle..
puisqu'il s'agit d'un modèle.. j'y ai mis directement les formules enB6, G10, H15 H17...
plus besoin de les mettre dans la feuille de compte.
d'ailleurs;. en passant.. dans ton code, tu cherches la ligne qui contient "Solde(A)"... vu qu'il s'agit du modèle... c'est toujours la meme ligne.. 15..

3) j'ai créé une macro simplifiée "CreateSheetsAndFormulas2"

4) ta feuille "Plan Comptable"
Comment est elle alimentée??
il serait plus pratique de ne pas avoir de colonnes vides, mais seulement les 5 colonnes utiles de A à E
et encore une fois, le tout sous forme de TS

PS: dans ma proposition, j'ai désactivé la barre de progression.. qui en général a pour effet de ralentir l'execution globale
 

Pièces jointes

  • Analyse de comptes_300924_vbeta - Copie.xlsm
    131.9 KB · Affichages: 1

Max

XLDnaute Nouveau
sur ta macro "CreateSheetsAndFormulas"
1) tu n'utilises pas bien ta feuille modèle
=> plutot que créer une feuille vierge, puis faire un copier cller du modèle vers la feuille vierge..
tu peux directement copier le modlèle, tu lui donnes le nom et tu remplis

2) si j'ai bien compris, tu créés toutes les feuilles pour tous les comptes de la colonne A
PUIS tu mets une formule pour le solde.. PUIS si le solde est N/A.. tu supprimes la feuille du compte concerné..
ce serait plus efficace de mettre la formule AVANT, puis tu créés la feuille si le solde est ok..
Bonjour,

Oui c'est exactement ça !
J'ai trouvé que ce procédé alourdi le traitement.
Mais comme je ne suis pas expert en VBA. J'ai fait avec.
 

Max

XLDnaute Nouveau
Voir PJ
1) Feuille TB: j'ai transformé tes données en Table Structurée (TS) que j'ai appelée "t_TB"
==> dans VBA, on exploite cette structure = Listobjects("t_TB")

2) Feuille Modèle..
puisqu'il s'agit d'un modèle.. j'y ai mis directement les formules enB6, G10, H15 H17...
plus besoin de les mettre dans la feuille de compte.
d'ailleurs;. en passant.. dans ton code, tu cherches la ligne qui contient "Solde(A)"... vu qu'il s'agit du modèle... c'est toujours la meme ligne.. 15..

3) j'ai créé une macro simplifiée "CreateSheetsAndFormulas2"

4) ta feuille "Plan Comptable"
Comment est elle alimentée??
il serait plus pratique de ne pas avoir de colonnes vides, mais seulement les 5 colonnes utiles de A à E
et encore une fois, le tout sous forme de TS

PS: dans ma proposition, j'ai désactivé la barre de progression.. qui en général a pour effet de ralentir l'execution globale
Bonjour,

Je prends note pour le point1.

Pour le point 2, tu as parfaitement raison. Je n'avais pas vu ça sur cet angle.

Merci pour le point 3 ! 🙏🏽

Concernant le plan comptable sur ton point 4, avec du recul je pense qu'elle peut être supprimé. Elle est là juste pour récupérer l'intitulé de chaque compte. Or, en réalité, je l'ai déjà sur la feuille TB.

Merci beaucoup pour tes propositions ! 🙏🏽🙏🏽🙏🏽

Je teste le tour et te fais un retour !
 

vgendron

XLDnaute Barbatruc
Regarde la PJ
j'ai aussi modifié ton modèle pour y intégrer une TS qui aura pour contenu les infos du compte (ta macro copydatatosheet)
j'ai ajouté un bouton sur la feuile TB qui lance les deux macros que j'ai réécrites

PS: ta macro filtre n'est pas un filtre, mais un tri==> j'ai renommé
 

Pièces jointes

  • Analyse de comptes_300924_vbeta - Copie.xlsm
    135.3 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
314 863
Messages
2 113 649
Membres
111 930
dernier inscrit
fab_met