Type de variables et quels objets ?

Résolu/Fermé
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 - Modifié par BUDGETS le 11/11/2016 à 17:50
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 - 31 mai 2017 à 17:04
Bonjour à toutes et à tous,

Dans le fchier joint, je vous expose mon projet et les questions qu'il m'impose.
D'avance merci de votre aide précieuse.

https://www.cjoint.com/c/FKlqnng6CgJ

Les modèles de fichiers :
https://www.cjoint.com/c/FKlqXSdfxdJ
https://www.cjoint.com/c/FKlqYG8wmEJ


BUDGETS

44 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
3 mars 2017 à 00:57
Bonjour,

Maintenant que ton premier cbo fonctionne, je pensais que tu allait travailler sur le second fichier que je t'ai envoyé au post 32 comme tu le disait au post 80 :
« J'ai commencé à travailler sur ton deuxième fichier qui me semble plus adapté. Je te joints comment il se présente pour que tu me dises ce que tu en penses, avant d'aller plus loin (écrire les codes). »

Et au post 84 et plus récemment au post 91 :
« Je suis en train de travailler sur ton deuxième ficher... »

Comme je te disais au post 32 : frmRéférences servirait aussi bien pour les légumes que pour les viandes ou les dessert !

Alors pourquoi travailler sur un nouveau formulaire frmViandes plutôt que de modifier ton frmLégumes pour qu'il serve aussi pour les viandes et les desserts. Par exemple comme ce fichier :
https://www.cjoint.com/c/GCcx4dGsBRY
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
3 mars 2017 à 23:28
Bonsoir Patrice,

Donc, je peux supprimer MENUS PATRICE.xlsm, de manière définitive : tu m'assures que je n'aurai pas besoin de le créer de nouveau et que je vais pouvoir me consacrer entièrement à ton second fichier que j'ai nommé chez moi MENUS.xlsm.
Bonnes fin de soirée, nuit et continuation. Bon weekend.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
5 mars 2017 à 15:18
Bonjour Patrice,

J'espère que tu vas bien. Je travaille donc sur ton deuxième fichier. Je viens de m'apercevoir que la procédure Private Sub Initialise_cboProduits() existait. Jusqu'ii, je l'avais vainement cherché. Pour la procédure Private sub Initialise_cboRéférences(), ligne Me.cboRéférences.cColumWidths = "78;204;162;162; 100" les nombres peuvent-ils être négatifs ? J'ai appliqué ta méthode, et pour conditionnement, je me retrouve avec un nombre négatif.
D'avance merci pour ta réponse.
Bonnes fin de journée et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié par BUDGETS le 5/03/2017 à 17:13
J'ai travaillé sur ce fichier mais cela ne donne pas le résultat escompté. Explique-moi comment il fonctionne.
J'ai rempli les divers cbo : si je clique sur viande dans le cboproduit : les boutons de commande deviennent inactifs. Si je ne clique pas dans la liste déroulante du cboproduit : la saisie est enregistrée dans la partie légume et non dans la partie viande.
J'ai trouvé la réponse : il faut d'abord choisir le produit avant de compléter les autres cbo. Ta décision : bon élève. Mauvais élève
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié par BUDGETS le 5/03/2017 à 22:01
J'ai compris le fonctionnement de ton fichier du post 95;j'ai vérifié les formules et je suis tombé sur les mêmes chiffres sauf pour le listwidth qui accuse une différence de 3.
Dans mon fichier, les cbo références, désignation, jours, conditionnement sont sur une première ligne du formulaire;les cbodestination et produit sont sur une autre ligne. Question : comment calculer la columnwidths pour le cbodestination ?
cboréférences : left : 3;width : 65
cbodésignation : left : 102; width : 230
cbojours : left :342; widht :265
cboconditionnement :left : 618; width 375
Ligne suivante :
cbodestination : left : 6;width : 210
cboproduit : left : 222;width : 90

frmRéférences : left 0; width : 1024,50 (impossible d'augmenter cette largeur sur mon ordinateur portable)

Si problèmes avec mes left et mes width, alors je reprendrai les tiens de manière que le formulaire soit identique au tien.

Rappel d'une question précédente restée sans réponse : un columnwidths peut-il être un nombre négatif ?
Dans la mesure du possible, merci de me faire parvenir ta réponse pour demain lundi au plus tard 15 heures.

Les réponses à tous les précédents post deviennent inutiles. Seul celui-ci est maintenant concerné.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
6 mars 2017 à 00:58
Bonjour,

En se référant au dernier fichier que je t'ai envoyé au post 95 (les autres n'ont plus aucune utilité) :

Les seuls cbo pour lesquels il faut donner une valeur de ColumnWidths sont :
- le cboRéférences parce que sa liste déroulante comporte 5 colonnes
- le cboProduits parce que sa liste déroulante comporte 2 colonnes
Tous les autres cbo n'ont qu'une colonne, il est inutile de définir ColumnWidths.

Comme il me semble que tu n'as toujours pas compris comment faire les calculs, voici deux dessins :
1. Calcul de la largeur de la liste multicolonnes du cboRéférences

2. Calcul de la largeur d'une colonne de la liste

et pour la 2° valeur c'est entre le left du cboDésignation et le Left du cboJours, etc ....

-
Cordialement
Patrice
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
6 mars 2017 à 09:35
Bonjour Patrice,
1)Tu as mal lu mon denier message ou toi aussi tu n'as pas compris ce que j'ai écrit. J'ai compris comment faire les calculs (je te l'ai dit et j'ai même vérifié et je suis arrivé aux mêmes résultats). La question était de savoir comment calculer la largeur du cbo Destination qui ne se trouve plus sur la même ligne que les autres cbo du fait de l'agrandissement du cboconditionnement..
2) Dans le fichier du post 95, frmréférences, le code comprend des instructions pour le calcul de largeur de tous les cbo (sauf produit).
3) Comment puisse-savoir que cboréférences et cbo produit sont respectivement à multicolonnes et à deux colonnes ?
4) Je répète ma question : une largeur de colonne peut-elle avoir un nombre négatif ?
Si je comprends bien, l'instruction concernant la columnwidth devra être réduite à deux nombres.
Merci pour ton aide.
Bonnes journée et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
6 mars 2017 à 22:12
Re,

1) tu as mal lu mon message du post 100 :
« Les seuls cbo pour lesquels il faut donner une valeur de ColumnWidths sont :
- le cboRéférences parce que sa liste déroulante comporte 5 colonnes
- le cboProduits parce que sa liste déroulante comporte 2 colonnes »

ça veut dire qu'il n'y pas besoin de calculer la largeur du cboDestination !

2) Dans le fichier du post 95, frmréférences, le code ne comprend aucune instruction pour le calcul de largeur des cbo. Il y a seulement des instruction qui concernent la largeur de la liste déroulante et la largeur des colonnes de cette liste déroulante pour le cboRéférence et uniquement pour ce cbo !

3) C'est la propriété ColumnCount des cbo qui définit le nombre de colonnes du cbo.

4) Est-ce que tu comprends la question que tu poses ?
Une largeur peut-elle être négative ?
Comment peux-tu obtenir un résultat négatif en mesurant une largeur ?
Quelque chose peut-il mesurer -3 cm de large ?
Tu as du te tromper dans tes calculs, si tu n'est pas sur de toi, fais un dessin comme ceux du post précédent !
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
16 mars 2017 à 22:47
Bonsoir Patrice,
J'espère que tu vas bien.
Dans la table, données, tu as prévu une colonne produit (Y) et une colonne colonne (Z). La colonne produit dira s'il s'agit de légume, de légume 2, de viande ou de desserts. Lais que mettras-tu dans la colonne colonne ? Si j'ai bien compris ton message, la columnwidths est à déterminer que dans l'hypohèse que le cbo ait au moins deux colonnes.
Bonnes fin de soirée, nuit et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
17 mars 2017 à 00:02
La colonne Y et la colonne Z alimentent les deux colonnes du cbo produit.
Quand on choisit un produit (Légume, Second légume, viande ou dessert), la seconde colonne du cbo indique le numéro de la colonne de la feuille données dans laquelle se trouvent les références de ce produit.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
17 mars 2017 à 15:47
Bonjour Patrice,

Je verrai cela dimanche puisque la prochaine journée consacrée à tes menus est dimanche. J'essaierai de refaire les calculs pour les columnwidths pour les colonnes concernées (cbo légume et produit) puis ils ont plus d'une colonne (5 et 2).
Bonnes fin de journée et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié par BUDGETS le 17/03/2017 à 22:55
J'ai regardé ton fichier : colonne produit et colonne colonne : exact, je ne l'avais pas remarqué.
Une question : cela a-t-il de l'importance si le width des cbo dans le formulaire en création est inférieur au contenu qu'il recevra ? : exemple :petits pois et jeunes carottes : à la saisie, du fait du width inférieur à ce qu'il devrait être, seul petits pois et apparaît dans le combo légume.
Bonnes fin de soirée, nuit et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776 > BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
18 mars 2017 à 23:43
C'est pas moi qui vais me servir du fichier, c'est à lui qu'il faut demander !
S'il accepte d'avoir des carottes lorsqu'il choisit des petits pois ....
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
23 mars 2017 à 23:51
Bonsoir,

Les information du cbo périodicité concernent les menus mais pas les références des éléments des menus !
Ce cbo n'a rien à faire dans ce formulaire, il faudra le mettre dans le formulaire menus.
Je vois aussi que tu persiste avec une liste des observations totalement inutile (il suffit d'employer la date du menu pour déterminer les fêtes et donc renseigner automatiquement les 'observations' sans faire appel à l'utilisateur)

Quand à ton questionnaire, je ne sais pas de quoi il s'agit mais si c'est une appréciation de ton code c'est pas la peine de perdre ton temps à faire un fichier Word, il suffit que tu rassembles et tries toutes les réponses des différents post pour savoir ce qui n'allait pas !

Vu que ton formulaire fonctionne, l'autosatisfaction devra te suffire.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
24 mars 2017 à 08:26
Bonjour Patrice,

"Je vois aussi que tu persiste avec une liste des observations totalement inutile (il suffit d'employer la date du menu pour déterminer les fêtes et donc renseigner automatiquement les 'observations' sans faire appel à l'utilisateur) "
Si je te comprends bien, à partir de la date, d'une année à l'autre, il sera possible de savoir que tel jour c'est Pâques, tel autre le lundi de Pentecôte ! Sans vouloir ni te vexer, ni t'offenser, ni t'offusquer, je doute beaucoup que ce soit possible.
"Quand à ton questionnaire, je ne sais pas de quoi il s'agit mais si c'est une appréciation de ton code c'est pas la peine de perdre ton temps à faire un fichier Word, il suffit que tu rassembles et tries toutes les réponses des différents post pour savoir ce qui n'allait pas !
Il ne s'agit pas d'une appréciation de mon code (de ton code serait plus approprié). C'est d'expliquer son fonctionnement : telle ligne de code cela veut dire qu'il doit ou qu'il va faire ceci, cela, telle autre ligne, le premier chiffre correspond à une colonne, une cellule,une ligne, etc.
"Vu que ton formulaire fonctionne, l'autosatisfaction devra te suffire." : autosatisfaction n'est pas de mise ici. Si quelqu'un doit être auto satisfait, c'est toi, moi je suis seulement satisfait de ton travail.
Bonnes journée et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
25 mars 2017 à 20:47
« Si je te comprends bien, à partir de la date, d'une année à l'autre, il sera possible de savoir que tel jour c'est Pâques, tel autre le lundi de Pentecôte ! Sans vouloir ni te vexer, ni t'offenser, ni t'offusquer, je doute beaucoup que ce soit possible. »

C'est pourtant très simple :
https://www.cjoint.com/c/GCztTYi1VEc
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié le 25 mars 2017 à 21:17
Bonsoir Patrice,

Merci pour la formule. "C'est pourtant très simple" : pour un programmeur chevronné comme toi, oui mais pour moi, c'est une autre histoire. J"ai essayé pour 2017 et vérifié avec le calendrier, et cela marche. Quand j'aurai le temps, je regarderai dans mon livre entièrement consacré aux fonctions si je trouve la tienne.
Demain je vais préparer mon d'emploi et je te l'enverrai pour te le soumettre afin de m'aider à préparer la saisie des menus.
Bonnes soirée, nuit et continuation. N'oublie pas que cette nuit, on passe à l'heure d'été : à 2 heures,il sera 3 heures.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
26 mars 2017 à 16:33
« Quand j'aurai le temps, je regarderai dans mon livre entièrement consacré aux fonctions si je trouve la tienne. »
Je doute que tu la trouves dans un livre puisque c'est la mienne : je l'ai écrite hier !
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
26 mars 2017 à 17:21
Bonjour Patrice,

Alors félicitations. Bravo.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 1 avril 2017 à 00:45
Re,

« Quand je poste un message sur ccm et que quelqu'un répond, je reçois un mail de ccm me disant que j'ai une réponse à la question posée. » : c'est ton choix. (dans les paramètres de ton compte)

« Je n'ai aucune idée de la façon dont tu es averti que tu as un message venant de moi.»
Pour ma part j'ai choisi de ne pas recevoir de mail de ccm, donc je ne suis pas averti quand quelqu'un poste sur un des 5500 messages suivis.

« Comment je peux voir si tu as répondu ou pas ? »
il suffit de regarder le forum : dans la liste des discussions suivies, celles qui ont reçu une réponse apparaissent en gras.

Quand au fonctionnement de l'intellisense, vérifie les options de l'éditeur VBA (outils / options) :



et ici, quelques raisons du dysfonctionnement :
https://software-solutions-online.com/vba-intellisense-not-working/

Cordialement
Patrice
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
1 avril 2017 à 20:39
Bonsoir Patrice,

Les listes déroulantes apparaissent maintenant.
Pour le formulaire frmSaisieDesMenus, comment faire pour que les références de la feuille Données apparaisse dans chacun des cbo du formulaire frmSaisieDesmenus ? J'aiessayé quelque chose mais j'ai le message d'erreur la méthode "Range" de l'objet '_Worksheet' a échoué malgré que j'ai signalé qu'il fallait aller dans la feuille récapitulatif liste de choix.
Bonnes soirée, nuit et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 2 avril 2017 à 17:49
Bonjour Patrice,

Comme nous sommes dimanche, j'ai travaillé sur ton fichier. Comme je n'ai pas encore reçu de réponse de ta part à mon post 135, j'ai essayé de comprend le comment et le pourquoi des instructions. Ce qui m'a permis d'écrire le code afin que dans le formulaire frmSaisieDesMenus, La liste des menus (journaliers, midi retraite, viandes weekend) d'une part, la liste du contenu des différents cbo d'autre part apparaissent. Seules des instruction individuelles pour chaque cbo a été possible : j'ai essayé plusieurs instructions pour n'avoir qu'une seule initialisation des cbo mais cela n'a pas marché.
Pour éviter une erreur, quelle qu'elle soit, le cbo DateDuMenu (je l'ai mis en cbo car pour les menus retraite, la date ira d'un lundi à un vendredi, pour les menus journaliers elle ira du lundi au dimanche, donc les dates des menus midi retraite pourront servir de nouveau, comme pour les menus viandes weekend qui concerneront eux les samedis et les dimanches) devra-t-il répondre à certains critères et, si oui, lesquels ? Maintenant, je vais attaquer la suite du code d'après ton travail. Je n'ai pas tout tapé, j'ai fait ds copier-coller puis des sélectionner tout ou des sélections partielles et utiliser "remplacer" puis j'ai modifié les commentaires en conséquence, j'espère que, dans les commentaires, je n'ai rien oublié. Pour ce qui est du numéro du menu, deux solutions sont possibles : une suite ininterrompue de 1 à quelque 730, ou une suite ininterrompue de 1 à quelque 265 pour les menus midi retraite, une suite ininterrompue de 1 à 365 (366) pour les menus journaliers, ou une suite innterrompue de 1 à 104 (105) pour les menus viandes weekend. À ton avis, quelle serait la meilleure solution ? D'autre part, à mon avis, d'après ce que je comprends des instructions, les zone de texte (quantités) ne sont pas à initialiser puisqu'une liste déroulante ne me serait pas utile. Quant à Observations, soit qu'elle soit initialisée, soit j'inclus le code que tu mconcernant la macro que tu as écrite pour observations.'as envoyé qui risque de ne pas fonctionner car il ne peut servir que dans une table. Je ne retrouve pas ton post
https://www.cjoint.com/c/GDcpzd0dNND
Bonnes fin de journée et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
2 avril 2017 à 22:39
Bonsoir Patrice,

Pour tout ce qui suit, je pose mes questions par rapport au formulaire frmRéférencesListeDeChoix.
a) Le formulaire est sous mes yeux. Tout d'abord, je choisis le produit (Légumes ou viandes ou desserts);
b) Je remplis les cinq combo boxes;
c) Je clique sur le bouton de commande Ajouter cette référence;
d) L'instruction "avec feuille Récapitulatif liste de choix", il va transférer les données saisies dans les colonnes adéquates;
e) Puis il va réinitialiser les combo boxes (appel réinitialiser les combo boxes du produit);
f) Dans cet appel, de nouveaux appels individuels sont faits vers chacun des combo boxes afin de les mettre à jour;
Je choisis de nouveau un produit; je tape la lettre (L,V ou D) et là le premier code, par exemple LD02 tel qu'il figure dans l'onglet Récapitulatif liste choix apparaît : dans toutes les instructions du code, où se trouve l'instruction qui permet cette apparition ?

Pour ce qui est du formulaire frmSaisieDesMenus, le choix initial n'étant plus le produit mais le menu (journalier, midi retraite ou viandes weekend), penses-tu qu'il serait possible de créer un formulaire avec seulement neuf combo boxes (Nature du menu, Numéro du menu, Date du menu, Références, Désignation, Jours, Conditionnement et Destination, Période concernée) et trois zones de texte (Quantité légume, Quantité viande et Quantité Dessert)?

Je suis contraint de te poser ces questions faute de réponse à mon post 135. J'ai compris pas mal de choses mais pas tout. Savoir tout me permettrait certainement de ne pas te déranger continuellement.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
3 avril 2017 à 01:23
Bonjour,

1) Je viens de regarder ton dernier fichier avec le formulaire menu :
La plupart des cbo sont totalement inutiles !

Pour créer les menus, on a besoin de 3 combobox uniquement:
- Nature du menu
- Choix du produit
- Référence du produit
et de 2 ou 3 textbox :
- Date
- Quantité de produit
- [selon le cas] Numéro du menu (numérotation manuelle)
et d'un ou 2 labels :
- Observations (calculées automatiquement d'après la date)
- [selon le cas] Numéro du menu (numérotation automatique)
et des boutons
- ajouter un produit
- ajouter le menu
- modifier le menu
- supprimer le menu

et surtout un listbox multicolonnes pour visualiser les produits (un produit par ligne) qui composent le menu avec les colonnes :
Produit, Jour, conditionnement, destination, quantité

2) « Je choisis de nouveau un produit; je tape la lettre (L,V ou D) et là le premier code, par exemple LD02 tel qu'il figure dans l'onglet Récapitulatif liste choix apparaît : dans toutes les instructions du code, où se trouve l'instruction qui permet cette apparition ? »
Nulle part, c'est le fonctionnement normal d'un combobox.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
3 avril 2017 à 16:51
Bonjour Patrice,

Pour créer les menus, on a besoin de 3 combobox uniquement:
- Nature du menu
- Choix du produit
- Référence du produit
et de 2 ou 3 textbox :
- Date
- Quantité de produit
- [selon le cas] Numéro du menu (numérotation manuelle)
et d'un ou 2 labels :
- Observations (calculées automatiquement d'après la date)
- [selon le cas] Numéro du menu (numérotation automatique)
et des boutons
- ajouter un produit
- ajouter le menu
- modifier le menu
- supprimer le menu

et surtout un listbox multicolonnes pour visualiser les produits (un produit par ligne) qui composent le menu avec les colonnes :
Produit, Jour, conditionnement, destination, quantité

Pas de problème pour les combo boxes.
Pour le numéro du menu, tu me conseilles le texte box (numérotation manuelle) ou le label (numérotation automatique) ?
le liste box multicolonnes : il va permettre a)de lire les références de l'onglet Récapitulatif liste de choix ? b)De saisir les composants du menu ? c) Les deux à la fois ?
Bonnes fin de journée et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
3 avril 2017 à 19:07
J'ai refait mon formulaire et commencé à écrire le code. Pour nature du menu et choix du produit, cela fonctionné. Par contre, Référence du produit, il y a une erreur que je ne comprends pas.
Pour le listbox, j'ai trouvé comment afficher cinq colonnes mais je ne sais pas comment procéder pour donner un titre à chaque colonne et afficher le contenu de chaque colonne.
Pour Numéro du menu, supprime celui qui te semble le moins utile.
https://www.cjoint.com/c/GDdrgTNMEOD
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
6 avril 2017 à 17:16
Bonsoir ätrice,
Le formulaire frmRéférencesListeDeChoix fonctionne correctement et toutes les saisies qui y ont été faites sont répertoriées dans la feuille Récapitulatif liste de choix.
Initialement, dans le formulaire frmSaisieDesMenus, j'avais prévu Nature du menu, Date du menu, Codes légumes, Légumes, Jours légumes, Conditionnement légumes, Destination légumes, Quantité légumes, code légume deux, Légume deux, jour légume deux, Conditionnement légume deux, Destination légume deux, Quantité légume deux, Codes viandes, Viandes, Jours viandes, Conditionnement viandes, Quantité viandes, Codes desserts, Desserts, Jours desserts, Conditionnement desserts, Destination desserts, Quantité desserts, codes observations, Observations, Période concernée, Numéro du menu. Chacune de ces rubriques étant soit des combo boxes, soit des zones de texte.
Tu m'as conseillé de faire un formulaire tel qu'il figure actuellement dans mon fichier. Je suis arrivé à trouver le code qui permette d'afficher le contenu de Nature du menu, Choix du menu mais ma compétence s'arrête là, étant un développeur néophyte et peu expérimenté.
Mon problème est le suivant : quel est le code qui permettra d'afficher le contenu des combo boxes de la feuille Récapitulatif liste de choix dans le formulaire frmSaisiedesMenus, étant entendu que si je tape LD02 comme référence du produit, il devra automatiquement compléter les quatre autres combo box. Dans ce second formulaire, je ne devrai intervenir que pour taper Nature du menu, Choix du produit (éventuellement), Référence du produit, Quantité du produit, observations (il a prévu un code qui permette de trouver l'observation d'après la date du menu), Numéro du menu (deux possibilités pour lui : a)Sortie automatique du numéro qui sera incrémenté de 1 en 1, b) Sortie manuelle (je le taperai moi-même)),et enfin période concernée.Je commencerai par saisir tout ce qui concerne les menus midi retraite qui vont du lundi midi au vendredi midi, ensuite les menus journaliers qui iront du lundi soir au vendredi soir ainsi que le samedi et le dimanche midis et soirs et, enfin, les menus viandes weekend qui concernent les samedis et dimanches midi : donc les dates des menus midi retraite serviront pour les menus journaliers lesquels, à leur tour, seront utiles pour les menus viandes weekend.
D'autre part, tant pour les formulaires que pour les modules, une explication détillée et claire de chacune des instructions du codes serait très appréciée car je n'ai pas tout compris).
J'ai apporté des modifications, c'est mieux mais ce n'est pas ce que je veux : le cboRéférenceDuProduit se remplit mais pas avec les codes mais avec le conditionnement. Si possible, il devra se remplir d'après le choix du cboChoixDuProduit, c'est-à-dire les codes commençant par L pour les légumes, par V pour les viandes, D pour les desserts. Je n'arrive pas à trouver l'endroit du code qui permet de se positionner dans le cboRéférencesDuProduit
https://www.cjoint.com/c/GDevkdhnjmk
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
6 avril 2017 à 21:25
Bonjour,

Tu as fait un amalgame des bases de données, il ne faut jamais dupliquer des données dans 2 bases différentes (tes 2 feuilles excel), : il faut aller chercher les données là où elles se trouvent (par exemple pour les cbo produit de chaque formulaire : une seule base de données = Récapitulatif liste de choix)

Tu devrais vérifier cette base, il me semble que les données ne sont pas toutes correctes.
Ton formulaire liste de choix comporte encore des erreurs de fonctionnement : dans le cbo produit, lorsqu'on choisit Périodicité, il se produit une erreur.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié le 6 avril 2017 à 22:09
Bonsoir Patrice,

En effet, hier, je me suis aperçu que des erreurs existaient dans ma base de données, je ne sais pas ce qui s'est passé. Dans les jours et le conditionnement, ça ne correspond plus. Mais ce qui me tient à cœur, c'est la partie suivante.
Je suis bien d'accord avec toi, c'est bien ce que je cherche à faire : dans le second formulaire, aller chercher les renseignements souhaités dans récapitulatif liste de choix. Mais comment procéder ? C'est la question. Quitte à recommencer tout pour que la lecture d'un formulaire à l'autre se fasse correctement, même si je dois transformer les combo boxes en je ne sais quoi.
dans le formulaire Saisie des menus : le combo box Référence produit devra me sortir la liste des références correspondant à la nature du produit : toutes les références commençant pat D si la nature du produit est desserts puis, à partir de cette référence, la désignation le jour, le conditionnement et la destination, à charge pour moi de remplir les autres combo boxes et zones de texte puis de cliquer sur le bouton de commande Ajouter le menu, et toutes ces informations devront aller soit dans la base déjà existante (récapitulatif liste de choix) ou dans une nouvelle base (récapitulatif menus). D'après mes lectures, quel objet peut recevoir x colonnes (un combo box, une zone de liste simple, une zone de liste déroulante, une liste box), quitte à refaire les saisies pour remplir la feuille récapitulatif liste de choix, cela ne me dérangerait pas à la condition que cela facilite la saisie dans le deuxième formulaire. Je suis prêt à tout mais à condition que cela fonctionne correctement.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
9 avril 2017 à 19:32
Bonjour,

« J'ai essayé mais il ne m'a signalé aucune erreur. » : C'est normal car il n'y a pas d'erreur d'exécution du code mais une erreur d'écriture (i.e. de structure du programme) qui provoque l'anomalie : le tri rapide boucle indéfiniment.

Pour constater cette erreur (et toutes les autres rencontrées depuis 5 mois) il suffit d'exécuter le code en mode pas à pas. Après chaque pas, le programme passe en mode arrêt : l'analyse des variables permet de vérifier que tout se passe normalement (ou pas) avant d'exécuter le pas suivant.

Pour exécuter le code en mode pas à pas :
1. Commencer par mettre un point d'arrêt au début du code à exécuter:
Cliquer sur la barre grise verticale à droite de la première instruction : un point apparaît sur cette barre et la ligne est alors colorée.



2. Lancer le code (avec le bouton « Liste de choix »)

3. Le code s'arrête sur le point (la ligne est alors surlignée en jaune). Exécuter les instructions une pas une en appuyant sur F8 (i.e. en pas à pas), chaque appuis sur F8 exécute une instruction et arrête le code sur l'instruction suivante.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
9 avril 2017 à 21:08
et s'il y a une erreur, comment je le saurais-je ?
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 9 avril 2017 à 22:30
J'ai un fichier qui s'appelle Menus faits par Patrice.xlsm (je te recommande beaucoup cette personne) qui fonctionne correctement. Je vais donc supprimer tout mon fichier Comptabilité et le refaire entièrement car je n'ai pas trouvé où était l'instruction qui faisait que la boucle tournait en rond. À chaque modification effectuée, il y a toujours une erreur incompréhensible pour un développeur comme moi. Si tu me réponds avant demain lundi après midi, peut-être m'apporteras-tu le lieu où se trouve vraiment l'erreur afin de m'éviter à devoir refaire tout. J'ai imprimé Menus faits par Patrice en totalité et comparé au mien et je n'ai rein trouvé d'erroné en tenant compte des éventuels changements de nom d'un fichier à l'autre. À force de lire et de relire, il est impossible de voir les erreurs.
Bonnes soirée, nuit et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 10 avril 2017 à 16:11
Bonjour Patrice,

Clic sur le bouton de commande Liste de choix de la feuille accueil : erreur :l'indice n'appartient pas à la sélection : apparition du module MCommun : Loop
Do While Pivot < Table(D)
D = D - 1

Je te joints mon fichier et le tien : même si tu me prends pour un con, tu verras que j'ai bien écrit ce qui figure dans ton fichier. J'en ai marre des erreurs incompréhensibles.
https://www.cjoint.com/c/GDknEHdbbfk c'est mon fichier
https://www.cjoint.com/c/GDknFO18sRk Ton fichier qui fonctionne correctement.
Alors où sont les discordances entre les deux fichiers ?
Résultats des courses : l'erreur n'était pas à la ligne signalée mais plus bas (loop while p>=d au lieu de loop while p<=d. Mon programme semble fonctionner maintenant. Je vais faire mes créations et voir si tout va fonctionner correctement.
Presque tout fonctionne : quand la référence est ajoutée , elle apparaît bien dans liste de choix; par contre, désignation, jours et conditionnement, les combo boxes restent vierges.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
10 avril 2017 à 17:21
Post 162 : les combo boxes restent vierges : maintenant, il ne sont plus vierges. J'ai eu du mal à trouver mon erreur mais j'y suis arrivé. J'ai fait des copier-coller et j'avais oublié de modifier là ou cela était nécessaire le nom du combo box dans les initialise_cbo.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
11 avril 2017 à 01:07
C'est en forgeant ....
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
11 avril 2017 à 22:54
Bonsoir,

« je ne retrouve pas celui que tu m'as envoyé le 07 avril 2017 à 1h10. »
Il est toujours à sa place ici : Post 152

« Je compte sur toi pour me donner toutes les consignes de création du formulaire » C'est aussi toujours là : Post 144
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
12 avril 2017 à 09:45
Bonjour Patrice,

D'après les trois exemples envoyés dans le post 166, confirmes-tu le contenu du post 144 ?
Un clic sur la liste (d'après post 152, impossible de le trouver là ou alors il n'est pas à sa place), va-t-il automatiquement enregistrer dans le formulaire saisie des menus toutes les références ?
Bonnes journée et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
12 avril 2017 à 21:07
Les exemples du post 166 sont des "états" c'est-à dire le résultat d'une requête de la base de données.
Lorsqu'une base de données est bien construite on peut obtenir tous les états qu'on veut, c'est pour cela que la première étapes est la construction de la base de données.
La difficulté étant de bien analyser le besoin pour que toutes les informations se trouvent dans les différentes tables (tableaux ou feuilles) de la base de données sans doublon pour éviter toute ambigüité.
D''où la nécessité d'enregistrer dans chaque table, uniquement les données indispensables et d'éliminer toutes les données superflues qui peuvent être obtenues soit par calcul, soit à partir d'une autre table de données.

Par exemple au lieu d'écrire dans une table :
02 janvier 2017 LMR09 Pâtes à la sauce tomates Rôti de porc Pomme Menus midi retraite numéro du menu : 1 Période concernée : Janvier 2017

Il suffit de mettre uniquement dans une table :
02 janvier 2017 LMR09 1 Mensuel

et dans une autre table (que tu as déjà créé) de :
LMR09 Pâtes à la sauce tomates Rôti de porc Pomme Menus midi retraite

à partir de ces infos, tu pourra ensuite créer un état qui donnera :
02 janvier 2017 LMR09 Pâtes à la sauce tomates Rôti de porc Pomme Menus midi retraite numéro du menu : 1 Période concernée : Janvier 2017

mais ça c'est l'étape finale, en attendant il y a du pain sur la planche : il faut créer les différentes tables de la base de données et les formulaires pour les renseigner.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié le 12 avril 2017 à 21:58
Bonsoir Patrice,

Je veux bien faire tout ce que tu veux mais expliques-moi comment procéder. Le fichier Comptabilité.xlsm peut-il servir pour ce que tu as écrit ci-dessus. Pour ce qui est de ce que je veux, les trois imprimés te le disent (à l'exception que sur ces imprimés, il n'y a pas la quantité). En créant plusieurs tables comme tu le suggères ci-dessus (personnellement, je préfère feuilles ou onglets car pour moi tables = Microsoft Access), quels seraient leur contenu et leur nom ? Quels formulaires (nom du (des) formulaire(s) et avec quels objets pour chacun d'eux) seraient nécessaires ?

De tout ce qui précède, voilà mes suggestions, que tu confirmeras ou infirmeras :
- un onglet (feuille) Menus midi retraite, avec les colonnes dates, codes légumes, légumes, jours légumes, conditionnement légumes, destination légumes, quantité légumes, codes observations, observations, numéro du menu, période concernée;à partir de là, dans le même onglet (ou feuille) ou dans un autre, on fera un état comparable à celui du post 166 et un autre état pour le calcul des quantités (ces deux derniers ne me posant aucun problème).
- un onglet Menus journaliers (mêmes colonnes que précédemment avec six colonnes supplémentaires pour légume deux) et états identiques à celui du post 166 sur le même principe que Menus midi retraite.
- un onglet Menus viandes week-end avec le même principe que menus midi retraite.

Combien de formulaires nécessaires : 1? 2? 3? Avec quels objets (outils) pour chacun d'eux ? Pour les formulaires (unique ou plusieurs), ton code pourra-t-il être repris ? Quels modules seront à créer ?
Bonnes soirée et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
13 avril 2017 à 17:45
Bonjour Patrice,

Mon formulaire Saisie des menus est terminé. Si nécessaire, l'ordre des intitulés, des combo boxes pourra être modifié. J'ai écrit quelques lignes de codes qui ne donnent pas le résultat souhaité du fait de ce qui suit.
Je clique sur Nature menu, la liste déroulante apparaît bien tout comme celle de Produit ainsi que Références. Quand je choisis une référence, je souhaiterais que Désignation, Jours, Conditionnement, Destination se remplissent automatiquement par rapport à Référence;ceci fait, je cliquerai sur Ajouter ce menu et les informations saisies devront se retrouver dans l'onglet Récapitulatif saisie des menus.
Merci pour ton aide.
Bonnes soirée et continuation.
https://www.cjoint.com/c/GDnpSHPjdVD
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
13 avril 2017 à 18:17
Bonjour,

Je ne comprends pas ta méthode de travail.

Le 6 avril tu utilisais un fichier nommé Référencesmenus dans lequel il y avait un formulaire pour établir les références des menus qui était presque terminé et un autre formulaire a développer pour les menus.

Maintenant tu utilises un autre fichier nommé Comptabilité dans lequel je ne retrouve pas les formulaires précédents.

Pourquoi ne pas terminer le premier fichier avant de te lancer dans autre chose ?
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
13 avril 2017 à 20:12
Bonsoir Patrice,

Je ne sais pas pour quelles raisons, mais le fichier Référencesmenus a été endommagé et tout s'est trouvé décalé ou déplacé et impossible d'y apporter des modifications, elles ne sont pas prises en compte. Comme j'ai été victime d'un piratage, je pense que ce fichier a été une cible pour mon pirate. J'ai donc tout recommencé.
Pour ce fichier, tu m'as donné des chemins à suivre pour lequel tu n'as pas répondu ) ma question, à savoir comment utiliser la zone de liste (utilisation, code).
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
14 avril 2017 à 09:48
Ton fichier Référencesmenus du 6 avril est toujours disponible ici :
https://www.cjoint.com/c/GDevkdhnjmk

Il fonctionne bien, il n'y a que quelques défauts mineurs
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié le 14 avril 2017 à 21:28
Bonsoir Patrice,

Merci de répondre à mon post 170 qui fait réponse à ton post 169. N'oublie pas : dans un précédent message (post 144), tu avais réduit les combo boxes nécessaires pour le formulaire Saisie des menus.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 15 avril 2017 à 10:22
Bonjour

Les suggestions du post 144 sont toujours valables.
Celles des posts #148 et #150 aussi.

En réponse au post 170 :
1) Quand je parle de table, d'état, de base de données, il s'agit de termes génériques qui sont indépendants du logiciel utilisé. Une table, c'est ce qu'autrefois, avant l'arrivée massive de l'informatique, on appelait un fichier, c'est à dire l'endroit où on stocke des fiches. Les fiches que maintenant on appelle souvent 'enregistrement'. Sous Excel une fiche se matérialise par une ligne dans un tableau. mais le terme tableau n'est pas très approprié, dans une base de données ça s'appelle une table.
2) Pour l'instant je ne vois pas l'utilité de créer d'autres formulaires.
3) Gardes en mémoire ce que je te disais il y a 2 mois au post #29 :
« Quand cet outils fonctionnera, mais pas avant, tu pourras envisager, dans le même classeur, un autre outil (un autre formulaire) pour créer les menus, qui seraient enregistrés dans un ou plusieurs autres fichiers, pour une historisation, c'est-à-dire des simples fichiers de données sans aucune macro. »
Dans un premier temps, pour mettre au point ton formulaire tu peux utiliser un nouvel onglet pour stocker les menus (pour faciliter la création ultérieure des états il est préférable que tous les menus soient dans la même base de données).



Cordialement
Patrice
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
15 avril 2017 à 13:03
Bonjour Patrice,

Cette après-midi, je vais revoir mon fichier Références menus car certaines colonnes ne contiennent pas l'information exacte puisque tant le mien que le tien sont erronés. D'autre part, j'ai vu quelque chose dans un livre qui pourrait m'intéresser. Je ferai un essai pour voir ce que cela donnera.
Bonnes fin de journée et continuation. Si je n'ai pas de message de ta part d'ici demain, je te souhaite de joyeuses fêtes de Paques.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
15 avril 2017 à 17:17
Voilà, Patrice j'ai effectué les modifications nécessaires selon ta méthode qui a fonctionné correctement : modification ou suppression. Donc mon fichier est maintenant correct et répond bien à mes souhaits.
Maintenant, je vais essayer la deuxième partie de mon post 177.
https://www.cjoint.com/c/GDpprpjiaoD
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
16 avril 2017 à 15:51
Bonjour Patrice,

Pourquoi SaisieDesMenus ne fonctionne pas ? J'ai repris tes instructions (en modifiant éventuellement les références susceptibles de l'être). Dans Comptabilité, cela fonctionne correctement. Que des emmerdement avec ce fichier RéférencesMenus !
Je veux bien faire ce que tu veux, mais alors que cela fonctionne partout. Quand tu auras réglé cette connerie de message incompréhensible comme d'habitude, j'aurai une autre question à te poser.
https://www.cjoint.com/c/GDqnXUgnWCD
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776 > BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
16 avril 2017 à 17:24
Bonjour,

Je voudrais bien regarder ton fichier du post 178 (avant de regarder ceui du post 179) mais je ne peux pas :
1) c'est à nouveau un fichier au format xltm au lieu d'un xlsm !
2) il est protégé par un mot de passe !
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
16 avril 2017 à 17:36
Le fichier xlsm sans mot de passe
https://www.cjoint.com/c/GDqpKiVfMjD
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
16 avril 2017 à 22:48
Bonsoir

Ci-joint Ton fichier avec le code corrigé (et avec des commentaires)
https://www.cjoint.com/c/GDquOKvFMT7

J'ai aussi réorganisé la disposition des contrôles du formulaire comme je l'aurais fait. sans en supprimer aucun, j'ai simplement mis à droite ceux dont je ne vois pas l'utilité.
Comme je t'ai déjà dit, dans une base de données il faut éviter tout ce qui est inutile : je ne vois pas à quoi sert le numéro du menu (la date est un excellent numéro), la période et les observations sont calculables à partir de la date (donc inutiles dans la base de données)
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
16 avril 2017 à 23:02
PS :
Quand tu dis : « RéférencesMenus déconne sans aucune raison valable, » tu te trompes lourdement : il y a toujours une raison valable !!!

Et je te rappelle qu'au post #159 je t'avais donné une méthode simple et efficace pour trouver d'où viennent les erreurs.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
17 avril 2017 à 15:27
En effet, tu m'avais donné la méthode que j'ai essayée d'appliquer mais cela n'a jamais rien donné. À chaque, il n'y a jamais eu d'erreur qui soit ressortie. Donc je n'ai toujours pas compris ni le fonctionnement ni la marche à suivre ni ce qui doit apparaître à l'écran an cas où une erreur serait décelé. Désolé mais je te rappelle car je te l'ai dit et répété maintes et maintes fois, je ne suis pas un professionnel.
Pour ce qui est du fichier de ton post 183, j'ai essayé de faire vainement des enregistrements mais je me suis aperçu qu'il n'y avait pas de code pour le bouton de commande Ajouter ce produit au menu : relation de cause à effet ?
À quoi sert l'outil lstProduit ?
bonnes fin de journée et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié le 17 avril 2017 à 22:56
Je te renvoie ton fichier que j'ai modifié (il y avait une erreur en ce qui concernait Nature du produit et Nature du menu dans le module Mcommun : deux fois la même référence à Nature du Produit) : j'ai écrit le code pour Ajouter le menu mais les combo boxes Désignation, Jours, Conditionnement, Destination ne sont pas reconnus dans shHistorique des menus. Je suis têtu mais excuses-moi de te le dire franchement, toi aussi. Comme tu ne veux pas m'expliquer en détail le fonctionnement du code du formulaire Saisie des menus, j'essaie de me démerder seul mais je n'y arrive pas. Merci de me répondre à ce post et au précédent (numéro 185). Je suis donc obligé de te déranger continuellement. Les deux autres boutons de commande seront traités ultérieurement. Regarde également toutes les instructions qui suivent UserForm_Initialize pour me signaler les éventuelles erreurs. Comme je ne sais pas à quoi sert Lstproduit, j'ai écrit le code qui donne un résultat mais pour l'instant je n'ai pas compris son utilité. Dans Historique des menus, j'ai supprimé Nature du Produit et Nature du Menu qui ne servaient à rien et qu'il était impossible de placer à partir de la saisie des menus : cela donnait des aberrations.
Dans le formulaire Saisie des menus, dois-je initialiser_cboréférences, _cbodésignation, _cbo_jours,_cbo conditionnement, _cbodestination, prévoir une MiseÀJourIndexRéférences, d'une manière générale prévoir les autres procédures du module comme dans le formulaire RéférencesListeDeChoix ?
https://www.cjoint.com/c/GDrt7r272kD
Bonnes soirée, nuit et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 18 avril 2017 à 01:23
Bonjour,

Le fichier que j'ai envoyé au post 183 n'est pas mon fichier mais ton fichier que tu as mis au post 181 auquel j'ai apporté les corrections nécessaires pour supprimer l'erreur que tu signalait au post 179, avec des commentaires explicatifs. Je n'y ai pas ajouté d'autre code.

Tu dis : « Pour ce qui est du fichier de ton post 183, j'ai essayé de faire vainement des enregistrements mais je me suis aperçu qu'il n'y avait pas de code pour le bouton de commande Ajouter ce produit au menu » ça me parait tout à fait normal puisque tu n'avais pas écris ce code.

Par contre le fichier que tu renvoies au post 186, contrairement à ce que tu écris, ce n'est pas celui que j'ai corrigé au post 183. Et dans le fichier renvoyé, tu n'a même pas apporté toutes les corrections que j'ai indiqué dans le code.

Et je te rappelle car je te l'ai dit et répété maintes et maintes fois, que moi aussi je ne suis pas un professionnel.
Je fais beaucoup d'efforts pour comprendre et trouver toutes les erreurs que tu ajoutes dans les exemples parfaitement fonctionnels que je te donnes.
Et en plus, tu oses te plaindre du fait que ça marche pas !

Patrice
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
18 avril 2017 à 08:43
Bonjour Patrice

Dans le formulaire Saisie des menus, dois-je initialiser_cboréférences, _cbodésignation, _cbo_jours,_cbo conditionnement, _cbodestination, prévoir une MiseÀJourIndexRéférences, d'une manière générale prévoir les autres procédures du module comme dans le formulaire RéférencesListeDeChoix ?
https://www.cjoint.com/c/GDrt7r272kD
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 18 avril 2017 à 21:06
Bonsoir Patrice,

Sauf erreur ou omission de ma part, le fichier est conforme au tien. Que faire maintenant pour que la nouvelle erreur ne sorte plus ? J'attends des réponses fiables à mes deux pquestions précédentes : initialisations des combo boxes et à quoi sert lstProduit ?
Bonnes soirée et continuation.
https://www.cjoint.com/c/GDstea28zZU
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
18 avril 2017 à 23:38
Ça sert à quoi que je me décarcasse à te fournir un fichier avec les corrections à apporter et des commentaires explicatifs si tu n'en tiens pas compte !!!!

Tes deux fichiers des post 188 et 189 ne sont pas conformes à ton fichier que j'ai corrigé au post 183 !
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
19 avril 2017 à 09:25
Bonjour Patrice,

Il ne peut pas être conforme puisque dans le fichier duc post 183 il n'y a rien pour le bouton de commande Ajouter ce menu dont j'ai écrit le code d'après le formulaire liste de choix menus avec les call. D'autre part, je te pose une question, tu n'y répond jamais. Alors prouves-moi que je n'ai pas tenu de tes corrections. D'ailleurs, les saisies se font correctement maintenant, alors pourquoi en est-il ainsi si je n'ai pas tenu compte de tes observations ?
Je ne demande pas que tu m'écrives tout le code mais pour chaque procédure, que tu m'écrives une ou 2 lignes,, à charge pour moi de compléter pour qu'il devienne exécutoire (sans erreurs). Là, tu me distilles tout au compte gouttes et je suis obligé de te contacter tous les jours.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
19 avril 2017 à 15:18
Bonjour,

Quand je dis que ton fichier n'est pas conforme, je ne parles pas du code que tu as ajouté mais des corrections que tu n'as pas effectué !

« Alors prouves-moi que je n'ai pas tenu de tes corrections. » : Par exemple, dans le module du formulaire MRéférencesListeDeChoix, j'ai, entre autres modifications, supprimé la procédure locale Private Sub Initialise_cboProduit() puisqu'elle est remplacée par une procédure publique et toi, tu ne l'as pas fait !!!

« D'ailleurs, les saisies se font correctement maintenant, ... » : C'est pas parce que, pour l'instant tu ne constate pas d'erreur, que ton code est correct. C'est simplement que tu ne l'as pas testé dans la configuration qui provoque l'erreur !

Ceci dit, je n'ai rien à prouver, j’essaie simplement de t'aider à développer cette application par toi-même, puisque c'est ta volonté et je la respecte.

Par contre j'aimerais que toi aussi tu respectes le travail que je te propose et que tu tiennes compte des réponses et des conseils que je te donnes. Je t'ai aussi fourni des méthodes de travail élémentaires, des liens vers les meilleurs cours d'autoformation au VBA. Le VBA ne s'apprend pas en un jour et il ne faut pas chercher à aller trop vite. Il serait bon que tu assimiles progressivement ces données. Je te rappelle aussi que l'aide intégré au VBA est très bien fait, qu'il suffit d'utiliser la touche F1 pour avoir des explications détaillées sur chaque élément du langage.

Depuis le début (le 2 octobre 2016) je te dis qu'il ne faut pas avancer trop vite, qu'avant de démarrer le développement d'une nouvelle partie de ton application, il faudrait finir ce que tu as commencé. Sans oublier que, ce qui est déjà fait est susceptible d'évoluer pour satisfaire un besoin plus général (par exemple la modification d'éléments privés vers des éléments publics).

« Je ne demande pas que tu m'écrives tout le code mais pour chaque procédure, que tu m'écrives une ou 2 lignes, à charge pour moi de compléter ... » : c'est ce que j'ai fait, et au final, vu que tu n'y arrivais pas, je t'ai aussi fourni un code complet fonctionnel, et là encore tu n'arrives pas à le copier correctement, tu y ajoutes de nombreuses erreurs que tu n'arrives pas à détecter.
Bon prince, je te fournis les corrections de ton code avec des commentaires explicatifs et là, tu ne les appliques pas.

C'est bien pour cela, parce que tu veux développer par toi-même, que je ne réponds pas aux questions qui peuvent attendre que tu aies corrigé et compris les erreurs signalées que subsistent dans ton code.

Évites aussi de poser des questions pour lesquelles tu as déjà la réponse, c'est très désagréable. Par exemple : « à quoi sert lstProduit ? », relis le post 144 : [...] un listbox multicolonnes pour visualiser les produits (un produit par ligne) qui composent le menu avec les colonnes : Produit, Jour, conditionnement, destination, quantité.
Si la réponse n'est pas suffisamment explicite, demandes les précisions requises !
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
19 avril 2017 à 15:50
mea culpa : à la lecture de ton post, en effet je n'ai pas fait de rectifications sur le formulaire frmListeDeChoixMenus : comme il est rempli en entier et qu'il fonctionne, je n'ai pas jugé utile d'aller voir comment il se présentait.
Pour le lstProduit: que dois-je faire alors pour qu'il soit multicolonne ? Dois-je écrire également l'intitulé des colonneset si oui, comment m'y prendre ?
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 19 avril 2017 à 18:14
Ordre de travail :
1)Création de la feuille de réception des données;
2)Création du ou des modules;
3)Création du ou des formulaire(s)
4)Création des objets (outils) du ou des formulaire(s)
Pour l'écriture du code, quel est l'ordre à suivre (pour chaque point ci-après, mettre un chiffre qui correspondra à ce qui est à faire en premier, puis en second et ainsi de suite)
A. Module (s)
B. Formulaire (s)
C. Feuille Accueil (création du ou des bouton(s) de commande puis écriture du code dudit (desdits) bouton (s) de commande
Quelle est la meilleure solution : créer uniquement un module MCommun ou créer un module MCommun et un module qui a le même nom que le formulaire (sans le préfixe frm) ?*
Merci de répondre prioritairement à ce post puis, éventuellement, au précédent.
Bonnes fin de journée, soirée, nuit et continuation.
  • J'ai constaté que des fois il n'y a qu'un module Mcommun, d'autres fois un module Mcommun et un module ayant le même nom que le formulaire, dans tes exemples.Évidemment, il faudra tenir des instructions contenues dans chacun d'eux dans l'hypothèse où ces instructions seraient utilisées dans le code du formulaire.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
19 avril 2017 à 18:37
Re,

« Pour le lstProduit: que dois-je faire alors pour qu'il soit multicolonne ? »
Comme dans un combobox, pour un listbox c'est la propriété ColumnCount qui défini le nombre de colonnes (déjà a 5 dans ton formulaire menus).
« Dois-je écrire également l'intitulé des colonnes et si oui, comment m'y prendre ? »
C'est toi qui doit choisir, mets-toi à la place d'un futur utilisateur de ton application et demandes-toi si ces informations lui seront utiles ?
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié le 19 avril 2017 à 20:52
"me mettre à la place d'un futur utilisateur ..." Pour moi, la réponse est oui malgré que je ne sache pas comment va se présenter le listbox, il va de soi de savoir que la première colonne est celle des références, la seconde la désignation (le nom du produit) et ainsi de suite. Si mon raisonnement est bon, comment faire apparaître le nom des colonnes (même nom que les combo boxes ou un autre nom) ? Je crois avoir vu ou lu quelque part, qu'il y a une propriété qui permet d'inclure le titre des colonnes. Je vais essayer d'aller voir l'aide que je ne trouve pas assez explicite.
Si j'ai bien compris ce que je viens de lire, et contrairement à ce que je pensais, la listbox va afficher le contenu de la feuille Récapitulatif liste de choix et, à partir de cette liste, je vais choisir la référence appropriée : et après, que va-t-il se passer dans la saisie des menus ?
Je viens de regarder mon fichier Référencesmenus et le module MRéférencesListeDeChoix : les deux procédures sont bien en public et non en private.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 19 avril 2017 à 20:54
Dans ton post 192, de quels fichiers (le mien et le tien) parles-tu afin que puisse voir les modifications que tu as apportées.
Si tu es d'accord, je travaille sur un fichier que tu auras fait, modifié, par exemple il s'appellera fichier Patrice Menus ou Menus patrice;tu me signales là où tu as fait des modifications (module, formulaire tant en création qu'en exécution);tu me l'envoies, je regarde tout ce que tu as fait comme modifications et je les reporte dans mon propre fichier (Références menus) et je l'exécute pour voir la réaction.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 19 avril 2017 à 22:08
Re,

« Si j'ai bien compris ce que je viens de lire, et contrairement à ce que je pensais, la listbox va afficher le contenu de la feuille Récapitulatif liste de choix et, à partir de cette liste, je vais choisir la référence appropriée : et après, que va-t-il se passer dans la saisie des menus ? »
Eh bien non, tu n'a rien compris !
La listbox va afficher les produits que tu as choisi , dans le formulaire, pour constituer le menu, et après quand ton menu sera constitué et que tu auras renseigné les autres champs (date, nature ...) tu pourra l'enregistrer.

« Je viens de regarder mon fichier Référencesmenus et le module MRéférencesListeDeChoix : les deux procédures sont bien en public et non en private. » c'est possible mais je parle des procédures du formulaire, pas de celles du module standard et ce n'est pas le cas dans le dernier fichier que tu as envoyé, c'est à dire au post 189.

Au post 192, je parles de ce que tu n'a pas fait dans ton fichier du post 189.

Il ne suffit d'exécuter une macro pour savoir si elle fonctionne, on peut toujours essayer d'envisager toutes les situations mais c'est quasiment impossible : ce qui est essentiel, c'est de savoir comment elle est structurée, de comprendre le rôle de chaque instruction pour savoir comment elle fonctionne.

Il est aussi très important de comprendre comment on utilise les puissants outils de débogage que le VBA met à ta disposition, notamment les points d'arrêt, le mode pas à pas et surtout la fenêtre variables locales, non seulement pour dépanner mais aussi, avant que les problèmes ne surviennent, tout simplement pour comprendre et analyser le déroulement du programme, en particulier quand tu n'a pas compris.

Le nom du fichier n'a aucune importance, ce qu'il faut c'est corriger tes erreurs. Je n'ai pas l'intention d'écrire le code à ta place.

Cordialement
Patrice
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
19 avril 2017 à 22:20
"Au post 192, je parles de ce que tu n'a pas fait dans ton fichier du post 189".
Dans quel post figure ton fichier à partir duquel je dois modifier mon fichier du post 189 ? Et dans quel module ou dans quel formulaire, je dois effectuer des modifications ?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
19 avril 2017 à 22:37
Si tu prenais le temps de relire les post précédent tu ne poserais pas cette question : c'est toujours le même, celui du post 183 !
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
19 avril 2017 à 23:05
Apparemment, je ne t'ai pas envoyé le bon fichier. Je te le renvoie, tu vérifies le formulaire SaisieDesMenus (il doit être conforme à tes instructions maintenant : j'ai supprimé Observations, numéro du menu);le module MRéférencesListeDeChoix a bien ses procédures en public; dans la feuille Historique des menus, faut-il supprimer les colonnes Numéro observations et Observations ou garder seulement la colonne observations ? Si d'autres modifications à apporter à ce fichier, dis-moi où exactement (dans le fichier du post 183 : dans le formulaire machin truc, dns le module bidule, je t'ai dit de faire ceci, cela mais ton fichier, ces modifications n'apparaissent pas).
https://www.cjoint.com/c/GDtu6HhNyuU
Essaie de me répondre gentiment : personnellement, je pense être convenable avec toi et tes réponses me donnent l'impression que je te t'emmerde même si je te dérange souvent.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
20 avril 2017 à 00:40
L'aspect du formulaire saisieDesMenus a effectivement l'air conforme, par contre, je n'ai pas regardé son code, je préfèrerais que tu termines le formulaire RéférencesListeDeChoix car son code.n'est toujours pas corrigé.

En comparant l'exécution en mode pas à pas du code corrigé, puis de ton code, tu te verras que dans le code corrigé c'est la procédure publique d'initialisation du cboProduits qui est utilisée alors que dans ton code c'est encore la procédure privée.

Les corrections que tu n'a pas encore fait :
- Les variables locales sont toujours là.
- Tu n'a pas corrigé la procédure d'initialisation pour utiliser la procédure publique à la place de la procédure locale.
- Tu n'a pas supprimé la procédure locale Private Sub Initialise_cboProduit() comme je te l'ai demandé au post 192.
Au lieu de la supprimer, je l'avais renommé pour que tu te rendes compte (grâce au pas à pas) qu'elle ne servait plus à rien et que tu pouvais la supprimer.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
20 avril 2017 à 15:19
Bonjour Patrice,

J'ai imprimé ton post 202 et j'ai apporté les modifications. Le résultat : erreur : la méthode 'Range' de l'objet ' _Worksheet' a échoué (dans private sub InitialiselescboDuProduit).
Par contre, je n'ai pas compris "les variables locales sont toujours là".
voir le fichier joint : https://www.cjoint.com/c/GDuntgA8msU
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
22 avril 2017 à 00:53
Bonjour

Voici un tuto pour déboguer ton programme.
https://www.cjoint.com/c/GDvw06NX7xb
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
22 avril 2017 à 17:58
Bonjour Patrice,

Merci pour ta démonstration très détaillée. Je l'essaierai demain.
Je suis à la recherche de ton message que je n'ai pas retrouvé concernant la macro pour les observations. Pourrais-tu me dire quel en était le numéro ?
D'avance merci.
Bonnes fin de journée, soirée, nuit et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
22 avril 2017 à 21:22
Bonsoir,

Je ne sais pas quel est le numéro du post concernant les observations.
Mais il suffit de relire tous les messages du post pour le retrouver.

Patrice
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié le 22 avril 2017 à 21:36
Je ne l'ai pas retrouvé mais par contre j'ai retrouvé le document imprimé. Merci tout de même.
Concernant les observations, le code qui est de ton invention, pour laquelle je t'ai d'ailleurs félicité, il faut l'écrire dans la feuille ou dans dans le formulaire concerné ?
Bonnes fin de soirée, nuit et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 23 avril 2017 à 15:54
Bonjour Patrice,

Les captures d'écran de ton débogage ne correspondent pas à ce qui se passe réellement dans mon fichier. Dans mon fichier, il va directement au point 8 du tuto. au point 21, j'ai supprimé initialiselescboproduit. À l'exécution, j'ai toujours la même erreur de worksheet mais dans la procédure cmd ajoutercetteréférence. Et je n'ai plus de liste déroulante pour es desserts, les viandes et les légumes !
dans ton tuto, au point 16, quel est le nom du fichier corrigé qui fonctionne ?
https://www.cjoint.com/c/GDxnN0bDTpU
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 23 avril 2017 à 17:32
Il n'y a pas d'erreur, c'est mon portable qui déconne. J'ai exécuté liste de choix sur mon pc de bureau et tout a fonctionné correctement. j'ai fait une création de légumes, une de desserts. j'ai sauvegardé puis j'ai transféré ledit fichier sur mon ordinateur portable sous le même nom. Les deux créations faites y figurent bien. J'ai fait une création viande sur mon portable et cela a fonctionné. Je t'envoie mon nouveau fichier : lis les codes : supprime ce qui ne te convient pas et surtout vérifie que tout fonctionne bien correctement et renvoie-moi le. Si tout est ok, je clôturerai types de variables et je m'attaquerai à saisie des menus pour lequel, éventuellement, j'ouvrira une nouvelle discussion suivie. Éventuellement, testes toi même le bon fonctionnement en créant un légume, une viande et un desserts.
https://www.cjoint.com/c/GDxpDA0QB0U

Bonnes fin de journée, soirée, nuit et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 23 avril 2017 à 14:34
Bonjour

« Je ne l'ai pas retrouvé mais ... » : Ça t'arrive souvent, j'ai l'impression que tu n'as pas compris comment fonctionnent les discussions sur CCM : Lorsqu'il y a trop de commentaires, seuls les derniers apparaissent, les autres sont masqués et remplacés par un message sur lequel il faut cliquer pour les faire apparaître .:


PS : Il suffit de glisser-déplacer le module mDate dans ton fichier (en conservant le copyright)
Cordialement
Patrice
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
1 mai 2017 à 09:40
Bonjour,

Je n'ai pas répondu à tes messages car tu as réglé les problèmes par toi-même. il n'y avait donc rien à répondre

« Le formulaire frmSaisieDesMenus est prêt »
Ça n'a rien à voir avec ce que je t'ai proposé au post 183.
Je ne t'ai jamais suggéré ce genre de formulaire !
Relis le post 183

Je ne comprend pas ce que tu veux faire avec tous ces contrôles dans le formulaire :
1) A quoi vont servir les combobox cboDésignationMenus, cboJoursMenus, cboConditionnementMenus, cboDestinationMenus ?
2) Pourquoi as-tu prévu 4 textbox pour les quantités alors qu'un seul suffirait ?
3) Pourquoi un listbox à 26 colonnes ? A quoi cela servira-t-il ? Relis le post 144.

Voici un exemple sur la méthode que j'utiliserais pour la création d'un menu :
1) je choisis la nature du menu (Menu journalier, Menu midi retraite ou Menu viandes week-end)
2) je définis la date du menu
3) je choisis le type du premier produit (par exemple légume) que je vais mettre dans ce menu
4) je choisis la référence du premier produit (du légume)
5) je définis la quantité de produit
6) j’ajoute ce produit au menu : le produit choisi apparait dans le listbox sur la première ligne.
7) je répète les actions 3, 4 et 5 pour le second produit (par exemple viande) du menu
8) j’ajoute ce produit au menu : le produit choisi apparait dans le listbox sur la 2ème ligne.
9) je répète les actions 3, 4 et 5 pour le 3ème produit (par exemple dessert) du menu
10) j’ajoute ce produit au menu : le produit choisi apparait dans le listbox sur la 3ème ligne.
11) Je vérifie la composition du menu, c'est-à-dire, dans le listbox, la liste des produits qui le composent.
12) j’ajoute ce menu à la planification des menus.

Voila les informations que j'ai besoin dans le listbox, pour pouvoir vérifier la composition du menu (c'est à dire les colonnes) :
- la référence du produit : cette information est essentielle mais il n'est pas indispensable de l'afficher, elle peut être dans une colonne masquée
- la désignation du produit
- le conditionnement
- la quantité
Je n'ai pas besoin de la destination puisque c'est la nature du menu.
- il faudra penser que lors du choix de la référence (§4) le combobox ne devra proposer que les références qui ont cette destination.
Et il y a une information que je ne vais pas pouvoir traiter facilement :
- le jour (c'est là que tu te rends compte que ta base de données des jours est mal étudiée)
La date définit le jour, il aurait fallu que le comboxbox références ne propose que les choix possibles ce jour la !
Il faut réfléchir à la solution qui permettrait de résoudre ce problème


Quelles sont les informations que je vais enregistrer pour mémoriser ce menu :
- la nature du menu
- la date
- le type de chaque produit avec sa référence et la quantité
Les observations et la période peuvent être calculées à partir de la date, donc inutile d'encombrer la base de données avec ces informations
Les autres informations peuvent être extraites de la base de données des références, donc inutile de les enregistrer aussi dans celle des menus.
Enfin, il y a une information dont je ne comprend pas l'utilité, c'est le numéro de menu.

0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
1 mai 2017 à 11:51
Bonjour Patrice,

Je vais refaire le formulaire en tentant compte du post 183. J'ai compris le fonctionnement de ton idée mais je n'ai toujours pas compris le fonctionnement de lstproduit.
Joyeux premier mai. Bonnes fin de journée et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 1 mai 2017 à 13:41
mais je n'ai toujours pas compris le fonctionnement de lstproduit.
Une fois que tu auras défini le produit et la quantité, le bouton ajouter le produit au menu aura pour action d'ajouter une ligne dans le listbox :
- d'une part pour mémoriser les informations qu'il faudra enregistrer lors de la création du menu (type de produit, référence et quantité)
- d'autre part pour visualiser la composition du menu en affichant en supplément les informations qu'il est inutile d'enregistrer mais qui indiquent à l'utilisateur de quoi est composée la référence choisie, c'est-à-dire la désignation du produit, le conditionnement, le jour.
En écrivant ceci, je me rends compte que dans le listbox, j'ai oublié qu'il faudra aussi une colonne pour enregistrer le type de produit (comme pour la référence, cette information est essentielle mais il n'est pas indispensable de l'afficher, elle peut aussi être dans une colonne masquée)
.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
1 mai 2017 à 17:52
Bonjour Patrice,

J'ai refait mon formulaire Saisie des menus. Pour la liste box, j'ai réduit le nombre de colonnes à 11 (Nature du menu, Date du menu, Produit, Références (5 colonnes), quantité, observations (à supprimer éventuellement si ton code est exécutable uniquement dans la feuille récapitulatif saisie des menus) et numéro du menu (j'y tiens particulièrement, ce sera un moyen de contrôle pour moi lors de la saisie). Pour l'instant, ce serait bien que tu me fasses un exemple de la liste box pour que je me rende compte de ce qu'elle contiendra en réalité avec, éventuellement, la ou les colonne(s) à masquer. L'ajout du produit du menu et l'ajout du menu devra permettre de remplir la feuille récapitulatif saisie des menus
https://www.cjoint.com/c/GEbp0d2XKaC
Bonnes fin de journée et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
21 mai 2017 à 22:53
J'ai parfaitement compris qu'après les saisies et un clic sur Ajouter le produit au menu, la liste box se remplit. Mais comment, tu ne m'as jamais répondu à cette question. Je suis bloqué par cette non réponse.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
1 mai 2017 à 19:24
Re,

Le formulaire lors du choix du dessert du menu du 01/05/2017, avant d'appuyer sur ajouter ce produit au menu :


Le formulaire après le choix du dessert avant d'ajouter ce menu :

Dans le listbox il faut 2 colonnes supplémentaires indispensables (mais inutiles pour l'utilisateur) : Produit et Référence

Je n'ai pas mis de colonne "jour" : A mon avis cette information n'est pas utile pour composer le menu si le formulaire fonctionne correctement, c'est-à-dire qu'il ne propose que les références correspondantes au jour défini par la date. En conséquence, il va falloir soit restructurer les données concernant ce champ pour qu'elles soient plus facilement utilisables soit créer un tableau de correspondance avec chaque jour.

Cela confirme ce que je te dis depuis longtemps, il est très important de faire une analyse détaillée du besoin dès début ou sinon le plus tôt possible pour établir un cahier des charges le plus précis possible. Cela évites de devoir reprendre le travail qui a déjà été fait pour résoudre une difficulté qui était prévisible.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
2 mai 2017 à 22:45
Bonsoir Patrice,
Nature menu, produit : pas de problème : le contenu apparaît bien. J'ai essayé de retaper le code du frmRéférenceslistdechoixmenus dans le formulaire frmSaisiedesmenus, mais beaucoup trop d'erreurs. Alors comment faire pour que la liste à cinq colonnes de références apparaisse dans le frmSaisieDesMenus ? Comme tu ne réponds qu'à une seule question, je te recontacterai éventuellement pour la seconde question.
Bonnes soirée et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
2 mai 2017 à 23:33
Dans ton fichier du post 207, le cbo référence du formulaire choix menu fonctionnait correctement.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
3 mai 2017 à 23:16
Bonsoir Patrice,
Ce n'était pas la question posée : choix menu et Produit fonctionnent correctement. C'est le cboRéférences qui ne s'affiche pas.
À demain au cas où le code du fichier post 207 ne fonctionnerait pas (demain jeudi, donc jour de travail sur ton fichier).
Bonnes fin de soirée et continuation.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
4 mai 2017 à 00:59
Comment ça c'est pas la question ???
« Alors comment faire pour que la liste à cinq colonnes de références apparaisse dans le frmSaisieDesMenus ? »
Ah, effectivement c'est pas la question, c'est la réponse !!!
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
4 mai 2017 à 15:31
Bonjour Patrice,
Comme je l'avais prévu, le code ne fonctionne pas malgré qu'il soit identique au code initial. La méthode 'Range' de l'objet '_Worksheet' a échoué. Débogage : InitialiseRéférences : set cellule=.range(Colonne & .rows.count).end(xlup)
Quand j'essaie de faire la pas à pas détaillé, à chaque fois que j'appuie sur F8, il reste sur cette ligne. Je maintiens que le libellé des erreurs est incompréhensible et que le pas à pas ne m'apporte aucune aide. C'est à demander que chez moi, il refuse de fonctionner correctement alors que toi tu semble le porter aux nues !
https://www.cjoint.com/c/GEenFLSSCAC
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 4 mai 2017 à 22:21
Bonjour,

« Comme je l'avais prévu, le code ne fonctionne pas malgré qu'il soit identique au code initial » Ça c'est pas possible : si il était identique il fonctionnerait !

Pour déboguer, il ne suffit pas d'appuyer sur F8, il faut aussi regarder ce qui se passe !
Surtout qu'il se passe exactement la même chose que dans l'exemple de débogage que je t'ai envoyé au post 208 !

Dans ton dernier fichier :


Dans ton fichier du post 207 :


En surveillant les variations de cette variable dans fichier du post 207, avant d'arriver au point ci-dessus, il n'y en a qu'une seule :
Avant la variation :

Après l'affectation de la valeur :


Tu n'a plus qu'à faire la même chose avec ton dernier fichier pour comprendre pourquoi la variable colonne n'a pas la même valeur au moment où l'erreur se produit.
(Peut-être que relire le tuto t'aidera aussi)
Cordialement
Patrice
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 4 mai 2017 à 23:27
J'en ai marre. Non seulement ça ne marche pas et mes messages à ton intention ne sont pas acceptés ! Ma précédente réponse à ton message n'a pas été prise en compte. S'il ne veulent plus que j'envoie des messages, qu'ils le disent franchement.
je résume :
débogage : capture d'écran différentes de ce qui se passe sur le mien. Fichier post 207 (il fonctionne) : impossible de voir les valeurs de colonne et de rows.count !!!!!!!!!!!!
Compilation : pas d'erreur.
Exécution : erreur sur worksheet : qu'ils appellent un chat un chat au lieu de mettre des erreurs incompréhensibles;
Codes rectifiés et conformes au post 207 : exécution toujours impossible.
Tu parles de variations : je n'ai rien compris.
Et pourquoi s'arrêter sur produit et non sur références, puisque la nature menus et la liste des produits (légumes, viandes, desserts, légume deux) se remplissent bien. C'est la liste des références à cinq colonnes qui n'apparaît pas. Je maintiens, persiste et signe : c'est la liste des références qui ne surgit pas. Dans toutes tes réponses, tu ne me parles que de produits, ce que je ne comprends pas puisque produit et nature menus.
si cela continue, je vais tout plaquer et reprendre mon ancienne méthode qui fonctionne correctement, à moins que tu ne me dises clairement Christian, l'erreur est à cet endroit, il faut mettre pipi au lieu de caca, caca au lieu de pipi. Microsoft n'a pas une réputation exempte de fautes et ce n'est pas avec mon cas qu'il va remonter dans mon estime, bien au contraire !
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 4 mai 2017 à 23:55
Sur les images ci-dessus si on compare les deux procédures UserForm_Initialize on voit bien qu'elles sont différentes !
PS : Si je te parles de cboProduit c'est parce que c'est là qu'on initialise la variable colonne ! Mais encore ne faut-il pas la détruire ensuite !
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
Modifié le 5 mai 2017 à 00:59
Pour surveiller l'évolution d'une variable en mode pas à pas tu peux utiliser une espion sur cette variable !
J'ai complété le tuto (à la fin) pour t'expliquer comment placer un espion :
https://www.cjoint.com/c/GEew5o5hPVi
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
5 mai 2017 à 07:43
J"ai modifié >2 en >=2. À part cela, la seule différence, ce sont les call. Pour >2, la modification entraîne toujours l'erreur. Désolé, je ne vois pas d'autres différences.
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776 > BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
5 mai 2017 à 09:43
« la seule différence, ce sont les call »
Effectivement c'est les call, c'est de ce coté qu'il faut regarder !
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
11 mai 2017 à 21:49
Bonjour,

Au post 229 je t'ai déjà donné la marche à suivre :

1) Choisir la nature du menu
2) Définir la date du menu
3) Choisir le produit
4) Choisir la référence du premier produit
5) Définir la quantité de produit
6) Ajouter ce produit au menu (dans le listbox).
7) Répéter les actions 3, 4 et 5 pour le second produit
8) Ajouter ce produit au menu.
9) Répéter les actions 3, 4 et 5 pour le 3ème produit
10) Ajouter ce produit au menu.
11) Vérifier la composition du menu.
12) Ajouter ce menu à la planification des menus.

Et, il n'y a pas besoin d'enregistrer d'autre information pour définir un menu !!!

Pour le luxe, tu peux aussi avoir dans le formulaire, une information sur les jours de fête correspondant à la date et si tu y tiens vraiment une autre information pour dire à quel mois appartient cette date (i.e la Période) mais uniquement à titre informel : il n'a aucun besoin d'enregistrer ces informations.

Tu aura peut-être besoin de ces informations pour calculer les quantités par période ou pour éditer des états ou pour autre chose, mais ça n'a rien à voir avec la création ou la modification d'un menu !

Je ne vois absolument pas à quoi pourrait servir un combobox pour la période concernée dans la création d'un menu, à part à générer des erreurs !

Il suffit pas d'y tenir encore faut-il pouvoir en justifier le besoin !
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
Modifié le 11 mai 2017 à 22:46
Pour le point 6, (Ajouter ce produit au menu (dans le listbox)) , je suppose qu'il lui faut des instructions pour le faire et je n'ai rien trouvé dans tous mes livres qui disent comment remplir une listbox sans passer par additem. Combien de colonnes dans la liste box ? Donnes-moi le nom des colonnes.
11) Vérifier la composition du menu. Comment procéder ?
12) Ajouter ce menu à la planification des menus. Grâce au bouton de commande Ajouter ce menu ? Et dans quelle feuille (Récapitulatif saisie des menus ou historique des menus) ?
Pour les états mois par mois et par nature, il y aura moyen de choisir le mois à partir de la date du menu ?
Merci encore pour ton aide.
Bonnes fin de soirée, nuit et continuation.
0
BUDGETS Messages postés 1333 Date d'inscription samedi 19 juillet 2014 Statut Membre Dernière intervention 24 novembre 2023
12 mai 2017 à 19:37
Bonsoir Patrice,

Pour la suite de mon programme (voir mes deux derniers messages d'hier que j'espère tu as vus), faut-il que je considère Types de variable comme résolu afin de poser une nouvelle question ou nous continuons tous les deux ?
0