Feuille BD crédits budgétaires BM : tableaux structurés source et autres

Bonjour à toutes et à tous,

Dans le fichier BUDGETS.xlsm, feuille BD crédits budgétaires BM, le tableau structuré TabBDCréditsBudgétairesBM a été rempli manuellement. Les tableaux structurés TabBDCréditsBudgétairesBMDépensesAlimentaires (et tous les autres) ont été remplis par un copier-coller du tableau source. Clic sur l'un des boutons de commande EffacerTabBDCréditsBudgétairesBMDépensesAlimentaires (et tous les autres), le contenu s'efface bien.

Problème : clic sur le bouton de commande situé cellule A108 : le tableau source se vide bien. Clic sur l'un des boutons de commande EffacerTabBDCréditsBudgétairesBMDépensesAlimentaires (et tous les autres), le contenu ne s'efface pas.

Dans le fichier BUDGETS 2.xlsm, feuille crédits budgétaires BM, le tableau source est vide mais le problème soulevé à la ligne précédente existe toujours.

Merci de m'aider à régler ce problème. Bonnes fin de journée et continuation à toutes et à tous. Prenez bien soin de vous.

17budgets.zip (682.82 Ko)
15budgets-2.zip (673.12 Ko)

Bonjour,

Votre fichier devient de plus en plus abominable.

Une piste : le pb vient des procédures : PurgerTabBDCréditsBudgétairesBMDépensesAlimentaires et similaires

1. Avez-vous compris leur principe ?

2. Pourquoi n'utilisez-vous pas le fichier beaucoup plus simple que bertrand a eu l'extrême amabilité de vous faire sur CCM ?

Bonjour BeGood,

1) Oui, j'ai compris le fonctionnement, enfin, je crois.

2)Parce que je souhaite travailler sur les deux afin qu'Arturo83 ne soit pas lésé.

Re,

1. Alors votre avis sur la piste que je vous ai indiquée ?

2. Pourquoi ne lui demandez-vous pas ?

1) Pour moi, il efface le contenu des tableaux structurés d'après leur nom et le mois considéré.

2) Actuellement, il est injoignable : son pc est en panne et il est parti en réparation.

Re,

En attendant la réparation, planchez sur ceci :

ça marche avec votre BD BM remplie mais pas avec votre BD BM vide, l'erreur est dans les procédure PurgerTabBDCréditsBudgétairesBM...

Première solution possible : rajouter une ligne pour dire ce qu'il doit faire si le tableau source est vide.

Bonjour ,

Non, mauvaise idée. Ça marche par hasard quand votre tableau est rempli. Mais le problème est autre.

Décortiquez la procédure.

Bonjour BeGood,

Purger dépenses alimentaires : au début de la procédure, j'ai ajouté With sh07, à la fin de la procédure, j'ai ajouté End With. Exécution d'effacer contenu du tableau structuré dépenses alimentaires : tout a disparu; exécution de générer dépenses alimentaires : tout a réapparu. Une condition : que le tableau source soit rempli. Si il est vide, effacer ne s'exécute pas. Procédure Sub EffacerFeuilleBDCréditsBudgétairesBM() : le tableau source se vide bien mais les call ne s'exécutent pas.

Re,

Vous semblez ne pas avoir compris le principe cette procédure. Expliquez ligne à ligne (4 lignes) ce que vous comprenez.

Désolé, mais je suis incapable d'expliquer ce que je comprends, mis à part ce que je vous ai dit hier. C'est pour cela que j'ai toujours souhaité, sans qu'il me soit donné satisfaction hélas, que les instructions soient commentées.

Re,

L'erreur est là :

TableMensuelle = "TabBDCréditsBudgétairesBMDépensesAlimentaires" & Month(Range("TabBDCréditsBudgétairesBM[Mois BM]").Item(I))

Il faudrait supprimer, peut-être, DépensesAlimentaires ? Non, cela entraîne une erreur sur la ligne :

If Range(TableMensuelle).ListObject.ListRows.Count > 0 Then Range(TableMensuelle).Delete : dépenses alimentaires pour décembre n'apparaît pas.

Bonjour,

Si vous ne comprenez pas la boucle, remplacez toute cette boucle par 12 séquences comme ceci (à adapter évidemment)

    With Range("TabBDCréditsBudgétairesBMDépensesAlimentaires1")
        If .ListObject.ListRows.Count > 0 Then .Delete
    End With

Cela vous aider peut-être à comprendre l'erreur

Bonsoir BeGood,

Je n'ai pas testé votre dernière proposition. Je viens d'avoir une idée ! l'erreur est dans table mensuelle : la formule fait référence au mois contenu dans la colonne Mois BM; or cette colonne a également l'année. Dans la formule, faudrait peut-être y faire référence également (Month & Year) par exemple ?

Bonjour,

Je n'ai pas testé votre dernière proposition.

C'est toujours un plaisir de vous aider.

Pourtant chez moi ça fonctionne et j'ai testé votre proposition Month & Year mais j'ai une erreur de compilation.

Bonjour BeGood,

Si Year n'a rien à voir, pourquoi m'avoir dit que l'erreur était dans la formule de table mensuelle ? Il manque quelque chose? Il y a trop de choses ? Faudrait inverser des choses . Expliquez-moi l'erreur et là peut-être je pourrais voir ce qui ne va pas.

1) J'ai gardé le tableau structuré source rempli. J'ai créé douze instructions sur le modèle de votre dernière proposition pour ce qui est uniquement alimentaires. exécution : les douze tables se vident et la génération se fait correctement.

2) J'ai vidé le tableau structuré source. J'ai gardé les douze instructions du 1). Exécution : les douze tables alimentaires se vident bien.

Je vais essayer de voir ce qui ne fonctionne pas dans l'instruction initiale mais je doute fort d'aboutir à la solution.

"C'est toujours un plaisir de vous aider." : est-ce sincère ou ironique ?

Bonjour à nouveau,

Très bien, et maintenant que vous avez douze séquences d'instructions, vous pouvez simplifier en n'en mettant qu'une seule légèrement aménagée et en créant une boucle.

Une boucle; c'est for ? next ?

For TabBDCréditsBudgétairesDépensesAlimentaires= 1 To 12

une ou des instructions;

next TabBDCréditsBudgétairesDépensesAlimentaires

Cela pourrait-il convenir ?

Bonjour,

Pas certain que ce soit bon. Révisez vos notions de boucle. C'est quoi pour vous TabBDCréditsBudgétairesDépensesAlimentaires ?

Sinon pas grave, vous avez quand même une solution qui fonctionne n'est-ce pas ?

Rechercher des sujets similaires à "feuille credits budgetaires tableaux structures source"