Budgets 1 : création des produits
Résolu/Fermé
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
-
Modifié le 30 oct. 2019 à 06:56
BUDGETS Messages postés 1494 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 16 novembre 2024 - 11 févr. 2020 à 22:32
BUDGETS Messages postés 1494 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 16 novembre 2024 - 11 févr. 2020 à 22:32
107 réponses
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 2 déc. 2019 à 19:08
Modifié le 2 déc. 2019 à 19:08
Il y a la même erreur (la méthode range a échoué) dans le module générer, dans la partie copier les valeurs, sur la première ligne (Code produit alimentaire, code produit). J'ai vérifié les noms des colonnes, je n'ai trouvé aucune différence. Je ne comprends pas.
https://cjoint.com/c/ILcrYhrhuV6
https://cjoint.com/c/ILcrYhrhuV6
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 2 déc. 2019 à 20:56
Modifié le 2 déc. 2019 à 20:56
J'ai vérifié qu'il n'y ait pas d'espace intempestif à la fin du nom de chaque colonne dans les deux tableaux et ce n'est pas le cas.
Même si cela sautait ux yeux, j'ai mis beaucoup de temps à voir les erreurs que j'avais commises : oublier le mot articles dans les deux dernières lignes de copier les valeurs et CodeProduit au lieu de Code produit.
Pour répondre à ta proposition, je préfère reprendre tout à zéro que de faire un copier-coller de ton fichier ou de le sauvegarder sous le nom de mon fichier. De plus, en tapant chaque ligne, cela me permet d'en comprendre le sens.
Même si cela sautait ux yeux, j'ai mis beaucoup de temps à voir les erreurs que j'avais commises : oublier le mot articles dans les deux dernières lignes de copier les valeurs et CodeProduit au lieu de Code produit.
Pour répondre à ta proposition, je préfère reprendre tout à zéro que de faire un copier-coller de ton fichier ou de le sauvegarder sous le nom de mon fichier. De plus, en tapant chaque ligne, cela me permet d'en comprendre le sens.
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
2 déc. 2019 à 21:20
2 déc. 2019 à 21:20
Bonsoir,
L'erreur est humaine !
Et bien tant mieux, tout est ok maintenant ?
Non, le numéro de création pose problème, j'avais refait une autre formule.
Mais je pense que ce numéro est inutile.
Cordialement
L'erreur est humaine !
Et bien tant mieux, tout est ok maintenant ?
Non, le numéro de création pose problème, j'avais refait une autre formule.
Mais je pense que ce numéro est inutile.
Cordialement
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 2 déc. 2019 à 21:38
Modifié le 2 déc. 2019 à 21:38
Je ne me suis pas attardé sur le numéro de création. Je le ferai demain. As-tu créé des noms définis pour être utilisés dans la formule du numéro de création. Si oui, lesquels et où ?
Une question : le nom des colonnes est précédé et se termine d'un crochet (tableau de la feuille shArticlesProduitsAlimentaires), le nom des colonnes est précédé et se termine par un double crochet (tableau de la feuille BDProduits) dans le module GénérerABDA_GénérerDonnéesABDA. Pourquoi une fois un simple crochet, une autre fois un double crochet ?
Demain mardi, je m'attaque au module Insérer.
Si je ne t'ai pas de nouveau ce soir, je te souhaite bonnes nuit et continuation.
Une question : le nom des colonnes est précédé et se termine d'un crochet (tableau de la feuille shArticlesProduitsAlimentaires), le nom des colonnes est précédé et se termine par un double crochet (tableau de la feuille BDProduits) dans le module GénérerABDA_GénérerDonnéesABDA. Pourquoi une fois un simple crochet, une autre fois un double crochet ?
Demain mardi, je m'attaque au module Insérer.
Si je ne t'ai pas de nouveau ce soir, je te souhaite bonnes nuit et continuation.
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
3 déc. 2019 à 09:32
3 déc. 2019 à 09:32
Bonjour BUDGETS,
Oui, bien vu pour les crochets ! Tu peux remplacer les doubles par des simples, il n'y a pas d'incidence mais c'est plus logique. Il y a quelquefois des doubles crochets quand on veut accéder à plusieurs entités de la table comme par exemple Range("TabProduits[#All,[Nom produit]]"), chaque entité étant elle même entre crochets.
Pour le numéro de création, il n'y a pas de noms définis, c'est juste une numérotation des lignes, qui est redontante avec le code article. Ce numéro n'étant pas utilisé par la suite il me paraît inutile.
Cordialement
Oui, bien vu pour les crochets ! Tu peux remplacer les doubles par des simples, il n'y a pas d'incidence mais c'est plus logique. Il y a quelquefois des doubles crochets quand on veut accéder à plusieurs entités de la table comme par exemple Range("TabProduits[#All,[Nom produit]]"), chaque entité étant elle même entre crochets.
Pour le numéro de création, il n'y a pas de noms définis, c'est juste une numérotation des lignes, qui est redontante avec le code article. Ce numéro n'étant pas utilisé par la suite il me paraît inutile.
Cordialement
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
3 déc. 2019 à 21:18
3 déc. 2019 à 21:18
Bonsoir ALS35,
Demain, je m'occuperai du module Insérer pour le fichier BUDGETS 1. Par rapport au module InsérerMMR, penses-tu que des lignes seront à modifier ou à supprimer compte tenu des dernières modifications apportées dans les différentes instructions du fichier BUDGETS 1.xlsm ?
Bonnes soirées et continuation.
Fichier BUDGETS 1.xlsm
https://cjoint.com/c/ILdun5v3y0I
Ficher MENUS 2020 ASL35.xlsm
https://cjoint.com/c/ILdupzQyKUI
Demain, je m'occuperai du module Insérer pour le fichier BUDGETS 1. Par rapport au module InsérerMMR, penses-tu que des lignes seront à modifier ou à supprimer compte tenu des dernières modifications apportées dans les différentes instructions du fichier BUDGETS 1.xlsm ?
Bonnes soirées et continuation.
Fichier BUDGETS 1.xlsm
https://cjoint.com/c/ILdun5v3y0I
Ficher MENUS 2020 ASL35.xlsm
https://cjoint.com/c/ILdupzQyKUI
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
4 déc. 2019 à 09:14
4 déc. 2019 à 09:14
Bonjour BUDGETS,
Bien sur que si tu reprends la procédure InsérerMMR tu devras modifier des lignes, le principe reste néanmoins le même, il faut recopier des données d'une feuille de saisie vers une ou plusieurs autres feuilles, mais tu peux faire beaucoup plus simple que ce qui était fait, parce que le contexte n'est pas le même.
Avant de commencer, prends le temps de répondre à quelques questions :
a) que veux-tu faire exactement, ou quel tableau final veux-tu obtenir ?
b) la table BD Produits est-elle nécessaire ?
c) de quelles informations as-tu réellement besoin, quelles sont-celles qui sont vraiment nécessaires ?
d ) la table Articles produits alimentaires (et les suivantes) est-elle bien celle que tu veux ?
e) quelles sont les informations qui te seront utiles pour la gestion de tes dépenses et recettes, ou iras-tu les chercher ?
Essaie de mettre noir sur blanc les différentes opérations à réaliser (d'un point de vue vba) et/ou essaie de décortiquer les différentes parties des procédures InsérerMMR et GénérerDonnéesABDA pour ne garder que ce qui est-utile.
Bon courage
Bien sur que si tu reprends la procédure InsérerMMR tu devras modifier des lignes, le principe reste néanmoins le même, il faut recopier des données d'une feuille de saisie vers une ou plusieurs autres feuilles, mais tu peux faire beaucoup plus simple que ce qui était fait, parce que le contexte n'est pas le même.
Avant de commencer, prends le temps de répondre à quelques questions :
a) que veux-tu faire exactement, ou quel tableau final veux-tu obtenir ?
b) la table BD Produits est-elle nécessaire ?
c) de quelles informations as-tu réellement besoin, quelles sont-celles qui sont vraiment nécessaires ?
d ) la table Articles produits alimentaires (et les suivantes) est-elle bien celle que tu veux ?
e) quelles sont les informations qui te seront utiles pour la gestion de tes dépenses et recettes, ou iras-tu les chercher ?
Essaie de mettre noir sur blanc les différentes opérations à réaliser (d'un point de vue vba) et/ou essaie de décortiquer les différentes parties des procédures InsérerMMR et GénérerDonnéesABDA pour ne garder que ce qui est-utile.
Bon courage
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 4 déc. 2019 à 21:27
Modifié le 4 déc. 2019 à 21:27
Bonsoir ALS35,
Pour tout ce qui est des questions et suggestions contenues dans ton précédent message, j'y répondrai quand les deux premières parties du programme concernant la création produit ont été créées car nous en aurons besoin pour la troisième partie (la gestion des dépenses et des recettes).
J'ai donc créé la procédure InsérerDonnéesABDA du moduleABDA_InsérerABDA, en me basant sur le module insérerMMR. J'attends tes propositions puisque tu dis qu'autre chose est possible du fait que le contexte n'est pas le même.
Je l'ai enregistré mais je ne me souviens plus ni où ni sous quel nom. Il y a quelques jours, tu m'as envoyé un message avec un partie saisie feuille et une autre saise formulaire. Te souviens-tu du numéro du message ? Si oui, merci de me le communiquer. De mon côté, je vais essayer de le retrouver dans tous les messages venant de toi en octobre et novembre 2019. Bon, je l'ai retrouvé en allant sur mes téléchargements. À partir de tes messages, c'est impossible : cjoint les supprime rapidement malgré que j'ai coché la case Durée illimitée.
Bonnes soirée et continuation.
https://cjoint.com/c/ILetTxtnN2I
Pour tout ce qui est des questions et suggestions contenues dans ton précédent message, j'y répondrai quand les deux premières parties du programme concernant la création produit ont été créées car nous en aurons besoin pour la troisième partie (la gestion des dépenses et des recettes).
J'ai donc créé la procédure InsérerDonnéesABDA du moduleABDA_InsérerABDA, en me basant sur le module insérerMMR. J'attends tes propositions puisque tu dis qu'autre chose est possible du fait que le contexte n'est pas le même.
Je l'ai enregistré mais je ne me souviens plus ni où ni sous quel nom. Il y a quelques jours, tu m'as envoyé un message avec un partie saisie feuille et une autre saise formulaire. Te souviens-tu du numéro du message ? Si oui, merci de me le communiquer. De mon côté, je vais essayer de le retrouver dans tous les messages venant de toi en octobre et novembre 2019. Bon, je l'ai retrouvé en allant sur mes téléchargements. À partir de tes messages, c'est impossible : cjoint les supprime rapidement malgré que j'ai coché la case Durée illimitée.
Bonnes soirée et continuation.
https://cjoint.com/c/ILetTxtnN2I
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
5 déc. 2019 à 10:06
5 déc. 2019 à 10:06
Bonjour BUDGETS,
As-tu testé le code que tu as rajouté dans ton fichier ?
Si oui, comment ?
Si non, pourquoi ?
Cordialement
As-tu testé le code que tu as rajouté dans ton fichier ?
Si oui, comment ?
Si non, pourquoi ?
Cordialement
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
5 déc. 2019 à 10:40
5 déc. 2019 à 10:40
Bonjour ALS35,
Non, je n'ai pas encore testé le code du module Insérer parce que tous les modules ne sont pas encore créés et qu'il manque encore certaine(s) macro(s). Dois-je en déduire de ta question que tu as observé des erreurs qui empêcheraient le bon fonctionnement du programme ?
Cette après-midi, je vais te préparer un fichier xlsm avec tout ce que je veux et toutes les relations entre les différents modules. Déjà, j'ai pensé, cette nuit, qu'il pourrait n'avoir qu'une feuille articles produits (au lieu de huit feuilles) qui comprendrait soit uniquement six colonnes, soit quarante-huit colonnes. La feuille BDProduits resterait telle qu'elle est actuellement.
Bonnes journée et continuation.
Non, je n'ai pas encore testé le code du module Insérer parce que tous les modules ne sont pas encore créés et qu'il manque encore certaine(s) macro(s). Dois-je en déduire de ta question que tu as observé des erreurs qui empêcheraient le bon fonctionnement du programme ?
Cette après-midi, je vais te préparer un fichier xlsm avec tout ce que je veux et toutes les relations entre les différents modules. Déjà, j'ai pensé, cette nuit, qu'il pourrait n'avoir qu'une feuille articles produits (au lieu de huit feuilles) qui comprendrait soit uniquement six colonnes, soit quarante-huit colonnes. La feuille BDProduits resterait telle qu'elle est actuellement.
Bonnes journée et continuation.
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
5 déc. 2019 à 11:37
5 déc. 2019 à 11:37
Re,
J'ai simplement remarqué que le code n'était pas suffisant pour aller au bout du process de création article.
Que manque-t-il pour y arriver ?
C'est cette partie qu'il faut terminer avant toute chose, mais si tu attends d'avoir écrit le code complet de ton application ça va être long et compliqué.
Cordialement
PS
Je peux te fournir un code qui fonctionne, mais ...
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson. Confucius
J'ai simplement remarqué que le code n'était pas suffisant pour aller au bout du process de création article.
Que manque-t-il pour y arriver ?
C'est cette partie qu'il faut terminer avant toute chose, mais si tu attends d'avoir écrit le code complet de ton application ça va être long et compliqué.
Cordialement
PS
Je peux te fournir un code qui fonctionne, mais ...
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson. Confucius
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 5 déc. 2019 à 12:40
Modifié le 5 déc. 2019 à 12:40
Je n'ai pas compris pourquoi le code n'était pas suffisant. Sauf erreur ou omission de ma part, il me semble avoir codifié toutes les colonnes de la feuille shBDProduits et de la feuille shArticlesDépensesAlimentaires. Je ne sais pas ce qui manque pour y arriver et je ne sais pas si je peux exécuter actuellement malgré que le code pour créer et valider ne soit pas encore présent. Quelle exécution pourrais-je faire afin de voir en quoi le code n'est pas suffisant.
Donc pour l'instant, il vaut mieux m'apprendre que de fournir un code qui fonctionne.
Donc pour l'instant, il vaut mieux m'apprendre que de fournir un code qui fonctionne.
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
5 déc. 2019 à 13:24
5 déc. 2019 à 13:24
Re,
En fait tu as commencé par la fin. Tu as le code pour insérer des informations dans les tables, mais rien pour appeler cette procédure. Il manque la partie entre la feuille Saisie articles alimentaires et cette procédure.
Bon courage
En fait tu as commencé par la fin. Tu as le code pour insérer des informations dans les tables, mais rien pour appeler cette procédure. Il manque la partie entre la feuille Saisie articles alimentaires et cette procédure.
Bon courage
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 5 déc. 2019 à 14:29
Modifié le 5 déc. 2019 à 14:29
La partie qui manque, c'est la macro Valider création articles alimentaires dans le moduleABDA_CréerABDA. Quand je parlais de mettre le code complet de mon application, j'entendais par là tout ce qui concerne les produits alimentaires, je ne parlais pas des autres articles budgétaires.
Dans le moduleABDA_CréerABDA, il n'est pas fait appel à InsérerDonnéesABDA, c'est cela qui manque ?
Dans le moduleABDA_CréerABDA, il n'est pas fait appel à InsérerDonnéesABDA, c'est cela qui manque ?
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
5 déc. 2019 à 14:39
5 déc. 2019 à 14:39
Dans le moduleABDA_CréerABDA, il n'est pas fait appel à InsérerDonnéesABDA, c'est cela qui manque ?
Pas exactement à cet endroit là.
Pas exactement à cet endroit là.
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 5 déc. 2019 à 14:59
Modifié le 5 déc. 2019 à 14:59
II faut que je relise tous mes modules MMR pour trouver où il est fait appel à cette procédure. Je n'ai trouvé cet appel que dans les modulesMMR_CréerMMR ( et ModuleMMR_ModifierMMR (ce dernier n'est pas encore créé dans le fichier actuel).
Quant à l'endroit, dans le moduleABDA_CréerABDA, cet appel doit figurer dans la macro ValiderCréationArticlesBudgétairesDépensesAlimentaires qui n'est pas encore ni créée ni codifiée.
Quant à l'endroit, dans le moduleABDA_CréerABDA, cet appel doit figurer dans la macro ValiderCréationArticlesBudgétairesDépensesAlimentaires qui n'est pas encore ni créée ni codifiée.
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
5 déc. 2019 à 15:15
5 déc. 2019 à 15:15
Ah pardon, je n'avais pas fait attention, toi tu parlais de module et moi je parlais de procédure.
L'important c'est la procédure, les modules permettent juste (en gros) de regrouper les procédures, d'ailleurs à ce propos je regrouperais toutes les procédures (macros) traitant des articles ABDA dans un seul module sinon à la fin tu risques d'en avoir un bon paquet de modules.
Cordialement,
L'important c'est la procédure, les modules permettent juste (en gros) de regrouper les procédures, d'ailleurs à ce propos je regrouperais toutes les procédures (macros) traitant des articles ABDA dans un seul module sinon à la fin tu risques d'en avoir un bon paquet de modules.
Cordialement,
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 5 déc. 2019 à 15:49
Modifié le 5 déc. 2019 à 15:49
"je regrouperais toutes les procédures (macros) traitant des articles ABDA dans un seul module". Cela donnerait quoi ?
Je crois que je peux simplifier : pour l'instant, prévoir une seule feuille shBDProduits et une seule feuille shArticlesProduits (au lieu de shArticlesProduitsAlimentaires, shArticlesPrdouitsBancaires, etc.) avec six colonnes (tous les produits seraient alors les uns en dessous des autres) ou avec quarante-huit colonnes (six colonnes pour les produits alimentaires, six colonnes pour les produits bancaires, etc.). Qu'en penses-tu ? Personnellement, je pense que six colonnes suffiraient, ce qui impliquerait de modifier certains modules et, dans lesdits modules, certaines procédures (procédure = macro ?). La feuille shAccueilArticlesBudgétaires actuelle resterait telle qu'elle est, il serait créé plusieurs feuilles shSaisie, à moins qu'une seule feuille shSaisie puisse avoir plusieurs cellules prédéfinies (colonne B pour les articles alimentaires, colonne d pour les articles bancaires, etc.). Le principe d'avoir le maximum de chose en une seule fois avec le moins de code possible mais donnant le résultat souhaité. Une seule feuille saisie à plusieurs entrées pourrait avoir pour résultat de modifier la feuille shAccueilArticlesBudgétaires. Si cela est faisable, merci de me faire une proposition (sans le code pour l'instant, j'essaierai d'écrire le code en conséquence).
Je crois que je peux simplifier : pour l'instant, prévoir une seule feuille shBDProduits et une seule feuille shArticlesProduits (au lieu de shArticlesProduitsAlimentaires, shArticlesPrdouitsBancaires, etc.) avec six colonnes (tous les produits seraient alors les uns en dessous des autres) ou avec quarante-huit colonnes (six colonnes pour les produits alimentaires, six colonnes pour les produits bancaires, etc.). Qu'en penses-tu ? Personnellement, je pense que six colonnes suffiraient, ce qui impliquerait de modifier certains modules et, dans lesdits modules, certaines procédures (procédure = macro ?). La feuille shAccueilArticlesBudgétaires actuelle resterait telle qu'elle est, il serait créé plusieurs feuilles shSaisie, à moins qu'une seule feuille shSaisie puisse avoir plusieurs cellules prédéfinies (colonne B pour les articles alimentaires, colonne d pour les articles bancaires, etc.). Le principe d'avoir le maximum de chose en une seule fois avec le moins de code possible mais donnant le résultat souhaité. Une seule feuille saisie à plusieurs entrées pourrait avoir pour résultat de modifier la feuille shAccueilArticlesBudgétaires. Si cela est faisable, merci de me faire une proposition (sans le code pour l'instant, j'essaierai d'écrire le code en conséquence).
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
5 déc. 2019 à 15:49
5 déc. 2019 à 15:49
Cela donnerait ça pour le moment.
https://www.cjoint.com/c/ILfoKKfIVaK
Je ne crois pas qu'avoir une seule feuille shArticlesProduits te simplifiera la tâche, cela va t'embrouiller.
J'insiste, écris et teste la procédure que tu as nommée ValiderCréationArticlesBudgétairesDépensesAlimentaires
Cordialement
https://www.cjoint.com/c/ILfoKKfIVaK
Je ne crois pas qu'avoir une seule feuille shArticlesProduits te simplifiera la tâche, cela va t'embrouiller.
J'insiste, écris et teste la procédure que tu as nommée ValiderCréationArticlesBudgétairesDépensesAlimentaires
Cordialement
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 5 déc. 2019 à 15:59
Modifié le 5 déc. 2019 à 15:59
Les modules Générer, insérer disparaissent ? Et le module Effacer tables, que devient-il ? Et les modules pas encore créées (modifier, supprimer, tri), ils seront à créer individuellement ou à inclure dans le module ABDA ?
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
5 déc. 2019 à 16:27
5 déc. 2019 à 16:27
Tu confonds modules et procédures. Un module contient une ou plusieurs procédures. On met dans un module de préférence les procédures qui traitent des mêmes infos, mais il n'y a pas obligation, c'est une question d'organisation, (tiens j'ai l'impression que je l'ai déjà dit). Tu choisiras le mode de gestion qui te conviendra le mieux. Dans mon exemple, j'ai mis toutes les procédures traitant des articles ABDA dans le module ABDA et supprimé les modules devenus vides.
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
5 déc. 2019 à 17:06
5 déc. 2019 à 17:06
Où dois-je écrire le code de ma macro Valider Création articles budgétaires dépenses alimentaires : dans un module à part ou dans le module ABDA ?
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
Modifié le 5 déc. 2019 à 17:29
Modifié le 5 déc. 2019 à 17:29
Dans le module ABDA !
Ou histoire d'embrouiller un peu plus, tu le mets dans un module à part que tu appelles comme tu veux et une fois au point tu le transfères dans le module ABDA.
Ou histoire d'embrouiller un peu plus, tu le mets dans un module à part que tu appelles comme tu veux et une fois au point tu le transfères dans le module ABDA.
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 5 déc. 2019 à 21:52
Modifié le 5 déc. 2019 à 21:52
J'ai créer les dernières procédures dans le module ABDA. À l'exécution, cela ne marche pas. L'erreur est dans la macro ValiderCréationArticlesBudgétairesdépensesAlimentaires :
Do
If shArticlesProduitsAlimentaires.Cells(I, 1).Value = ActiveSheet.Range("B9") Then 'I parce qu'il s'agit de la feuille shArticlesproduitsAlimentaires, 1 pour premièreColonne, B9 car il s'agit de la feuille active shSaisieAA, de la cellule B9.
Éventuellement, ajoute des commentaires car je n'ai pas dû tout comprendre et vérifie tout le contenu de toute cette macro afin de déceler d'éventuelles erreurs. D'avance merci.
Que faire pour trier le tableau (reprendre tout de MMR ou seulement une partie) ?
https://cjoint.com/c/ILfulf7UTdI
Do
If shArticlesProduitsAlimentaires.Cells(I, 1).Value = ActiveSheet.Range("B9") Then 'I parce qu'il s'agit de la feuille shArticlesproduitsAlimentaires, 1 pour premièreColonne, B9 car il s'agit de la feuille active shSaisieAA, de la cellule B9.
Éventuellement, ajoute des commentaires car je n'ai pas dû tout comprendre et vérifie tout le contenu de toute cette macro afin de déceler d'éventuelles erreurs. D'avance merci.
Que faire pour trier le tableau (reprendre tout de MMR ou seulement une partie) ?
https://cjoint.com/c/ILfulf7UTdI
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
6 déc. 2019 à 11:28
6 déc. 2019 à 11:28
Bonjour BUDGETS,
Il y a plusieurs anomalies car la structure et la position des tables n'est pas la même que celles de Menus.
a) les tableaux ne commencent pas en ligne 1, il faut adapter en conséquence les indices de lignes (I, Ici, IciBis) pour se positionner sur la première ligne vide en dessous des tableaux
b) l'insertion dans la table Article Alimentaires doit se faire de la même manière que celle de la table Produits alors que dans Menus on parcourait avec une boucle la première colonne pour insérer les infos à la bonne date, ce qui n'est pas le cas ici
c) Il faut trier le table produits sur deux critères , le nom catégorie puis le nom article, il faut trier la table Article Alimentaire sur un seul critère le nom article (à adapter de MMR)
https://www.cjoint.com/c/ILgkBJUzcIk
Je n'ai pas le temps d'en faire plus aujourd'hui
Bon courage
Il y a plusieurs anomalies car la structure et la position des tables n'est pas la même que celles de Menus.
a) les tableaux ne commencent pas en ligne 1, il faut adapter en conséquence les indices de lignes (I, Ici, IciBis) pour se positionner sur la première ligne vide en dessous des tableaux
b) l'insertion dans la table Article Alimentaires doit se faire de la même manière que celle de la table Produits alors que dans Menus on parcourait avec une boucle la première colonne pour insérer les infos à la bonne date, ce qui n'est pas le cas ici
c) Il faut trier le table produits sur deux critères , le nom catégorie puis le nom article, il faut trier la table Article Alimentaire sur un seul critère le nom article (à adapter de MMR)
https://www.cjoint.com/c/ILgkBJUzcIk
Je n'ai pas le temps d'en faire plus aujourd'hui
Bon courage
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 7 déc. 2019 à 12:34
Modifié le 7 déc. 2019 à 12:34
Bonjour ALS35,
Bravo, cela fonctionne très bien. J'ai fait le trier tableau. Pour la feuille shArticlesalimentaires, pas de problème, bons résultats. Par contre pour BDProduits, cela semble moins convaincant. Je vais m'attaquer aux procédures Modifier et supprimer. Je pense que ces deux procédures doivent aller dans le module ABDA, à moins que tu préfères qu'il vaille mieux les mettre dans deux modules différents.
https://cjoint.com/c/ILhlHA5aMMI
Bravo, cela fonctionne très bien. J'ai fait le trier tableau. Pour la feuille shArticlesalimentaires, pas de problème, bons résultats. Par contre pour BDProduits, cela semble moins convaincant. Je vais m'attaquer aux procédures Modifier et supprimer. Je pense que ces deux procédures doivent aller dans le module ABDA, à moins que tu préfères qu'il vaille mieux les mettre dans deux modules différents.
https://cjoint.com/c/ILhlHA5aMMI
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
7 déc. 2019 à 17:23
7 déc. 2019 à 17:23
Bonsoir BUDGETS,
Qu'est-ce qui te chagrines dans le Tri BDProduits ?
Cela dit dans la procédure TrierBDProduits les commentaires et le code ne sont pas cohérents, mais pour le moment cela ne change pas rien.
Pour les procédures Modifier et Supprimer je ne préfère rien du tout, je pense qu'il vaut mieux tout regrouper dans le module ABDA.
Comment vas-tu choisir le produit à modifier ou supprimer ?
Cordialement
Qu'est-ce qui te chagrines dans le Tri BDProduits ?
Cela dit dans la procédure TrierBDProduits les commentaires et le code ne sont pas cohérents, mais pour le moment cela ne change pas rien.
Pour les procédures Modifier et Supprimer je ne préfère rien du tout, je pense qu'il vaut mieux tout regrouper dans le module ABDA.
Comment vas-tu choisir le produit à modifier ou supprimer ?
Cordialement
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 7 déc. 2019 à 19:21
Modifié le 7 déc. 2019 à 19:21
ModuleABDA, macro ValiderCréationArticlesBudgétairesDépensesAlimentaires : if shBDProduits.cells(I 3+3) : à quoi correspondent ces 3 ? Un trois doit correspondre à la colonne Code produit de la feuille shBDProduits mais lequel ? et l'autre 3, à la ligne nom des colonnes mais lequel ?.
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
7 déc. 2019 à 21:01
7 déc. 2019 à 21:01
Je t'ai déjà dit, l'instruction Cells(n°ligne, n°colonne) permet d'accéder aux cellules de la feuille connaissant la ligne et la colonne. Cette instruction est placée dans une boucle For qui parcourt toutes les lignes de la Table Produits depuis 1 jusqu'au nombre total de lignes (shBDProduits.Range("TabProduits[Code produit]").Count).
Quand I vaut 1, l'instruction shBDProduitsCells(I + 3, 3) pointe sur la ligne n° 4 colonne n° 3 de la table Produits, c'est à dire le premier code article.
Si ce code article est égal à celui saisie sur la feuille SaisieAA cellule B9 alors il y a un message qui indique que le code existe déjà dans la table (MsgBox)
Sinon on passe à l'indice I suivant (Next I), donc la deuxième ligne de la table produits, et par conséquent la ligne n° 5 de la feuille et ainsi de suite jusqu'à la fin de la table produits (shBDProduits.Range("TabProduits[Code produit]").Count
Quand I vaut 1, l'instruction shBDProduitsCells(I + 3, 3) pointe sur la ligne n° 4 colonne n° 3 de la table Produits, c'est à dire le premier code article.
Si ce code article est égal à celui saisie sur la feuille SaisieAA cellule B9 alors il y a un message qui indique que le code existe déjà dans la table (MsgBox)
Sinon on passe à l'indice I suivant (Next I), donc la deuxième ligne de la table produits, et par conséquent la ligne n° 5 de la feuille et ainsi de suite jusqu'à la fin de la table produits (shBDProduits.Range("TabProduits[Code produit]").Count
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
Modifié le 7 déc. 2019 à 21:28
Modifié le 7 déc. 2019 à 21:28
Merci. Ici et IciBis représentent-ils tous les deux la ligne de la feuille shArticlesProduitsAlimentaires dans laquelle on va insérer ou rechercher les éléments ? Dans la négative, que représente Ici ?
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
7 déc. 2019 à 21:28
7 déc. 2019 à 21:28
C'est dit dans les commentaires, Ici est la première ligne vide en dessous du tableau dans la table Produits, et Icibis c'est pareil mais dans la table ArticleAlimentaire.
On insère donc les nouvelles données à la fin de chacune des tables, puis on trie les tables pour mettre les codes articles en ordre croissant.
On insère donc les nouvelles données à la fin de chacune des tables, puis on trie les tables pour mettre les codes articles en ordre croissant.
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
7 déc. 2019 à 21:33
7 déc. 2019 à 21:33
J'ai trouvé IciBis dans les commentaires, mais je n'ai rien trouvé en ce qui concerne Ici. J'essaie de comprendre tout pour la modification qui utilise Ici.
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
7 déc. 2019 à 21:36
7 déc. 2019 à 21:36
'Sur la feuille shBDProduits, récupérer le numéro de la première ligne vide en dessous du tableau
Ici = shBDProduits.Range("A3").End(xlDown).Row + 1
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
7 déc. 2019 à 21:57
7 déc. 2019 à 21:57
Merci. Je pense que je vais avoir besoin de ton aide pour la modification car pour les menus, les modifications se sont faites à partir de la date du menu mais dans les articles produits alimentaires il n'y a pas de date si ce n'est celle de la création qui ne peut pas être un critère.
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
8 déc. 2019 à 10:40
8 déc. 2019 à 10:40
Bonjour BUDGETS,
C'était le sens de ma question #96
Comment vas-tu choisir le produit à modifier ou supprimer ?
et ta réponse #97
Pour la modification, d'après le code produit et si à modifier est à oui
Très bien c'est tout à fait logique, mais ma question va plus loin, comment pratiquement vas-tu choisir le code article ?
Cordialement
C'était le sens de ma question #96
Comment vas-tu choisir le produit à modifier ou supprimer ?
et ta réponse #97
Pour la modification, d'après le code produit et si à modifier est à oui
Très bien c'est tout à fait logique, mais ma question va plus loin, comment pratiquement vas-tu choisir le code article ?
Cordialement
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
7 déc. 2019 à 22:26
7 déc. 2019 à 22:26
Hier, j'ai eu pleins de problèmes pour le tri dans BDProduits. Aujourd'hui, aucun !
BUDGETS
Messages postés
1494
Date d'inscription
samedi 19 juillet 2014
Statut
Membre
Dernière intervention
16 novembre 2024
8 déc. 2019 à 10:56
8 déc. 2019 à 10:56
Bonjour ALS35,
Pour l'instant, c'est le problème auquel je n'ai pas encore trouvé de solution (s) puisqu'il n'y a pas de date si ce n'est la date de création. Une autre solution consiste, éventuellement, à créer une liste déroulante à côté du bouton de commande Modifier articles budgétaires alimentaires et reprendre le code, en le modifiant, du bouton de commande modifier produit de la feuille shAccueilMenus du fichier Menus ou Menus 2020.
Pour l'instant, c'est le problème auquel je n'ai pas encore trouvé de solution (s) puisqu'il n'y a pas de date si ce n'est la date de création. Une autre solution consiste, éventuellement, à créer une liste déroulante à côté du bouton de commande Modifier articles budgétaires alimentaires et reprendre le code, en le modifiant, du bouton de commande modifier produit de la feuille shAccueilMenus du fichier Menus ou Menus 2020.
ALS35
Messages postés
1033
Date d'inscription
jeudi 18 juillet 2019
Statut
Membre
Dernière intervention
9 janvier 2024
139
8 déc. 2019 à 11:14
8 déc. 2019 à 11:14
Et oui, c'est une bonne solution et certainement la plus simple.
Tu vois bien qu'une procédure est adaptée à un contexte donné et qu'on ne peut pas la reprendre telle quelle dans un autre contexte. Donc soit tu la réécris soit tu reprends celle de MENUS que tu modifies fortement pour l'adapter à ton besoin et au contexte actuel du fichier BUDGETS.
Bon courage
Tu vois bien qu'une procédure est adaptée à un contexte donné et qu'on ne peut pas la reprendre telle quelle dans un autre contexte. Donc soit tu la réécris soit tu reprends celle de MENUS que tu modifies fortement pour l'adapter à ton besoin et au contexte actuel du fichier BUDGETS.
Bon courage