Remplissage automatique de quatre cbo à partir du cboCodesLégume
Résolu
BUDGETS
Messages postés
1607
Date d'inscription
Statut
Membre
Dernière intervention
-
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Patrice33740 Messages postés 8561 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Formulaire frmSaisieMenus : pour l'instant le code fonctionne correctement mais cela représente beaucoup de lignes de codes. Aussi, pour les légumes, à partir du cboCodesLégumes, existe-t-il un moyen afin que les cboLégumes, cboJoursLégumes,cboConditionnementLégumes et cboDestinationLégumes se remplissent automatiquement à partir de l'onglet Paramètres de choix, colonnes X1 à AB1 pour le cbolégumesLLM et ainsi de suite selon le cboCodesLégumes ?
Je modifierai le code en conséquence pour les viandes, les desserts et les observations.
D'avance merci pour votre aide.
Bonnes soirée et continuation.
https://www.cjoint.com/c/FLssyoPchiC
Formulaire frmSaisieMenus : pour l'instant le code fonctionne correctement mais cela représente beaucoup de lignes de codes. Aussi, pour les légumes, à partir du cboCodesLégumes, existe-t-il un moyen afin que les cboLégumes, cboJoursLégumes,cboConditionnementLégumes et cboDestinationLégumes se remplissent automatiquement à partir de l'onglet Paramètres de choix, colonnes X1 à AB1 pour le cbolégumesLLM et ainsi de suite selon le cboCodesLégumes ?
Je modifierai le code en conséquence pour les viandes, les desserts et les observations.
D'avance merci pour votre aide.
Bonnes soirée et continuation.
https://www.cjoint.com/c/FLssyoPchiC
A voir également:
- Remplissage automatique de quatre cbo à partir du cboCodesLégume
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Réponse automatique thunderbird - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
5 réponses
Tu as déjà la réponse ici !!!
https://forums.commentcamarche.net/forum/affich-34084967-type-de-variables-et-quels-objets#27
Cordialement
Patrice
https://forums.commentcamarche.net/forum/affich-34084967-type-de-variables-et-quels-objets#27
Cordialement
Patrice
Bonjour,
Avant de tout recommencer, il faudrait terminer le frmCodeslégumes, que j'ai volontairement laissé à terminer pour que tu y ajoutes le cboDestinationLégumes.
Je pensais que tu avais compris cela. Modifies le code pour que ça fonctionne de la même façon : les boutons d'action (ajouter, modifier, supprimer) ne sont activés que quand l'opération est possible.
Si tu as bien compris le code actuel, cela ne devrait pas être trop difficile.
Le fichier avec les variables renommées (dicListe, varTable, lgnCompteur, ...), plus conformes aux conventions d'écriture :
https://www.cjoint.com/c/FLxnLJh6ftu
Pour ce qui concerne :
me.cbocodeslégumes.columnWidths="78,204,162,162,100"
il existe une touche magique : la touche F1
Dans l'éditeur VBA, il suffit de placer le curseur texte sur un mot (par exemple columnWidths) et d'appuyer sur F1 pour obtenir l'aide concernant le mot choisi.
Quand tu auras terminé cette première étape, tu pourras te demander s'il est nécessaire de créer la même chose pour les viandes et les desserts ou bien, si tu ne pourrais pas utiliser ce même formulaire dans tous les cas (avec quelques modifications) !
Avant de tout recommencer, il faudrait terminer le frmCodeslégumes, que j'ai volontairement laissé à terminer pour que tu y ajoutes le cboDestinationLégumes.
Je pensais que tu avais compris cela. Modifies le code pour que ça fonctionne de la même façon : les boutons d'action (ajouter, modifier, supprimer) ne sont activés que quand l'opération est possible.
Si tu as bien compris le code actuel, cela ne devrait pas être trop difficile.
Le fichier avec les variables renommées (dicListe, varTable, lgnCompteur, ...), plus conformes aux conventions d'écriture :
https://www.cjoint.com/c/FLxnLJh6ftu
Pour ce qui concerne :
me.cbocodeslégumes.columnWidths="78,204,162,162,100"
il existe une touche magique : la touche F1
Dans l'éditeur VBA, il suffit de placer le curseur texte sur un mot (par exemple columnWidths) et d'appuyer sur F1 pour obtenir l'aide concernant le mot choisi.
Quand tu auras terminé cette première étape, tu pourras te demander s'il est nécessaire de créer la même chose pour les viandes et les desserts ou bien, si tu ne pourrais pas utiliser ce même formulaire dans tous les cas (avec quelques modifications) !
Bonjour Patrice,
J'espère que tu vas bien.
Impossible d'ouvrir le fichier joint : extension non valable ou fichier endommagé.
Je pense que la seconde solution pourrait être la meilleure, d'après ce que j'ai pu en voir, si cela ne pose pas de problème pour la suite.
Bonnes fin de journée et continuation. Joyeux Noël et bon réveillon.
J'espère que tu vas bien.
Impossible d'ouvrir le fichier joint : extension non valable ou fichier endommagé.
Je pense que la seconde solution pourrait être la meilleure, d'après ce que j'ai pu en voir, si cela ne pose pas de problème pour la suite.
Bonnes fin de journée et continuation. Joyeux Noël et bon réveillon.
Hier soir, après avoir écrit le message, j'ai fait f1: résultat : largeur des colonnes en point ou en pouce, je ne me souviens plus. Mais cela joue où : j'ai essayé de modifier les chiffres vers le bas mais aucune réaction ni dans le formulaire, ni dans la base de données. De plus, ces chiffres sont différents de la largeur de l'outil indiqués dans width.
Re,
Le fichier n'est pas endommagé, c'est un problème lié à Cjoint, il ne faut pas ouvrir directement le fichier mais l'enregistrer et l'ouvrir ensuite. Voici le même en zip :
https://www.cjoint.com/c/FLxplWShmCu
« Mais cela joue où » comme c'est écrit dans l'instruction, me.cbocodeslégumes.columnWidths, cela joue sur la largeur des colonnes (columnWidths) du combobox (cbocodeslégumes) du formulaire dans lequel se trouve le code (me).
Si tu regardes les propriétés de ce combobox, tu verras qu'il comporte 5 colonnes.
Seule la première colonne est visible car sa largeur est volontairement réduite pour n'afficher que le code. Par contre elles apparaissent toutes dans la liste de choix.
Tu as encore beaucoup de choses à comprendre dans ce code !
Le fichier n'est pas endommagé, c'est un problème lié à Cjoint, il ne faut pas ouvrir directement le fichier mais l'enregistrer et l'ouvrir ensuite. Voici le même en zip :
https://www.cjoint.com/c/FLxplWShmCu
« Mais cela joue où » comme c'est écrit dans l'instruction, me.cbocodeslégumes.columnWidths, cela joue sur la largeur des colonnes (columnWidths) du combobox (cbocodeslégumes) du formulaire dans lequel se trouve le code (me).
Si tu regardes les propriétés de ce combobox, tu verras qu'il comporte 5 colonnes.
Seule la première colonne est visible car sa largeur est volontairement réduite pour n'afficher que le code. Par contre elles apparaissent toutes dans la liste de choix.
Tu as encore beaucoup de choses à comprendre dans ce code !
J'ai voulu ouvrir le fichier sur mon pc de bureau dans lequel le fichier n'existe pas. J'ai essayé alors sur mon portable où le fichier existe et cela a marché.
Oui, j'ai vu qu'il y avait cinq colonnes. Dans les propriétées de chaque combobox, columnswidth est vide, rien n'y figure. Désolé je n'ai pas compris "Par contre elles apparaissent toutes dans la liste de choix".
Oui, j'ai beaucoup de chose à apprendre dans ce code, je suis bien d'accord avec toi.
Oui, j'ai vu qu'il y avait cinq colonnes. Dans les propriétées de chaque combobox, columnswidth est vide, rien n'y figure. Désolé je n'ai pas compris "Par contre elles apparaissent toutes dans la liste de choix".
Oui, j'ai beaucoup de chose à apprendre dans ce code, je suis bien d'accord avec toi.
Ce post devient illisible !!!
Il faut pas répondre au commentaire 14 quand il existe un commentaire 17 !!!
Au commentaire 21, qui suit le 18, tu écris :
«Le code de frmCodeslégumes tel qu'il est dans ton fichier : tout ce qui est plus haut concernant la déclaration des variables, désolé, mais je ne le vois.» et dessous tu as mis une copie du code VBA (sans mettre de balises, c'est donc peu lisible).
Dans cette copie, je vois toutes les lignes de déclaration sus-citées, concernant ce module.
Cordialement
Patrice
Il faut pas répondre au commentaire 14 quand il existe un commentaire 17 !!!
Au commentaire 21, qui suit le 18, tu écris :
«Le code de frmCodeslégumes tel qu'il est dans ton fichier : tout ce qui est plus haut concernant la déclaration des variables, désolé, mais je ne le vois.» et dessous tu as mis une copie du code VBA (sans mettre de balises, c'est donc peu lisible).
Dans cette copie, je vois toutes les lignes de déclaration sus-citées, concernant ce module.
Cordialement
Patrice
Bonjour Patrice,
J'espère que tu vas bien.
j'ai lu et comparé les déclarations de variables. En effet, j'ai cru voir que certaines y étaient. Quand j'ai lancé ce thread, je pensais à des dim codes légumes as string, dim légumes as string, etc. qui n'apparaissent nulle part.
Hier soir, j'ai fait un nouveau formulaire, j'ai écrit le code des modules (dont j'ai changé le nom) et j'ai fait une compilation. et là première erreur shdonnées : variable non définie; j'ai changé la formule en utilisant workbooks et là plus d'erreur. J'en déduis que l'utilisation de workbooks permet de ne pas déclarer les variables codes légumes, légumes, etc.
Bonnes journée et continuation.
J'espère que tu vas bien.
j'ai lu et comparé les déclarations de variables. En effet, j'ai cru voir que certaines y étaient. Quand j'ai lancé ce thread, je pensais à des dim codes légumes as string, dim légumes as string, etc. qui n'apparaissent nulle part.
Hier soir, j'ai fait un nouveau formulaire, j'ai écrit le code des modules (dont j'ai changé le nom) et j'ai fait une compilation. et là première erreur shdonnées : variable non définie; j'ai changé la formule en utilisant workbooks et là plus d'erreur. J'en déduis que l'utilisation de workbooks permet de ne pas déclarer les variables codes légumes, légumes, etc.
Bonnes journée et continuation.
Bonjour,
J'ai l'impression que tu confonds variable et donnée. Les variables qui contiennent les données dont tu parles sont : les cbo et la feuille shDonnées. Comme elles font partie du classeur Excel, il n'est pas utile de les déclarer.
On pourrait déclarer des variables pour les codes, les légumes, .. ,mais encore faudrait-il que ces variables servent à quelque chose dans le code !
J'ai l'impression que tu confonds variable et donnée. Les variables qui contiennent les données dont tu parles sont : les cbo et la feuille shDonnées. Comme elles font partie du classeur Excel, il n'est pas utile de les déclarer.
On pourrait déclarer des variables pour les codes, les légumes, .. ,mais encore faudrait-il que ces variables servent à quelque chose dans le code !
Comme je l'ai dit dès le départ, je ne suis pas un professionnel de la programmation ni de l'analyse. Alors oui, c'est possible que je confonde un peu tout cela. Ce que je souhaite, c'est un programme qui fonctionne correctement avec l'aide éventuelle de ce site. pour moi, les codes, les légumes servent dans le code.
ton message :
J'ai l'impression que tu confonds variable et donnée. Les variables qui contiennent les données dont tu parles sont : les cbo et la feuille shDonnées. Comme elles font partie du classeur Excel, il n'est pas utile de les déclarer.
On pourrait déclarer des variables pour les codes, les légumes, .. ,mais encore faudrait-il que ces variables servent à quelque chose dans le code !
Ma réponse :
Comme je l'ai dit dès le départ, je ne suis pas un professionnel de la programmation ni de l'analyse. Alors oui, c'est possible que je confonde un peu tout cela. Ce que je souhaite, c'est un programme qui fonctionne correctement avec l'aide éventuelle de ce site. pour moi, les codes, les légumes servent dans le code.
cbocodeslégumes : pour moi c'est une variable qui serait susceptible peut-être d'être déclarée. Tous les cbo et les zones texte sont des variables. Les données, ce sont les informations qui sont écrite dans la la feuille d'Excel à partir de la saisie des variables.
J'ai l'impression que tu confonds variable et donnée. Les variables qui contiennent les données dont tu parles sont : les cbo et la feuille shDonnées. Comme elles font partie du classeur Excel, il n'est pas utile de les déclarer.
On pourrait déclarer des variables pour les codes, les légumes, .. ,mais encore faudrait-il que ces variables servent à quelque chose dans le code !
Ma réponse :
Comme je l'ai dit dès le départ, je ne suis pas un professionnel de la programmation ni de l'analyse. Alors oui, c'est possible que je confonde un peu tout cela. Ce que je souhaite, c'est un programme qui fonctionne correctement avec l'aide éventuelle de ce site. pour moi, les codes, les légumes servent dans le code.
cbocodeslégumes : pour moi c'est une variable qui serait susceptible peut-être d'être déclarée. Tous les cbo et les zones texte sont des variables. Les données, ce sont les informations qui sont écrite dans la la feuille d'Excel à partir de la saisie des variables.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Après 127 messages CCM concernant ce projet, tu n'a rien retenu des dizaines d'heures que t'on consacré les différents CCMnautes (et ceux des autres Forums) ???
Si prés du but, tu veux tout recommencer à zéro ???
J'espère que tu vas bien.
Cela dépend de ce que tu appelles recommencer à zéro. Recommencer à zéro sans tenir compte de ce que tu as fait, c'est non. Recommencer tout à zéro en tenant de ce que tu as fait, c'est oui. Pourquoi ? Pour comprendre chaque ligne de code. Si j'exécute ton programme sans me préoccuper comment il agit, excuses-moi du terme, pour moi c'est de la connerie.
D'ailleurs, j'ai compris déjà certaines choses et cela faisait l'objet de mon message avant que je ne vois ton message. Le frmCodeslégumes, je compte modifier son nom en frmRéférenceslégumes. Et si j'ai bien compris ton raisonnement, dans le module MCodes, il faudra créer du code pour les codesviandes(RéférencesViandes), CodesDesserts(RéférencesDesserts). Dans le module MCommun, je ne vois rien qui doive être ajouté. Dansle frmCodeslégumes, il y aura lieu d'ajout tout ce qui concerné la destination légumes. Il sera utile de créer un frmCodesViandes(frmRéférencesViandes), un frmCodesDesserts(frmRéférencesDesserts).
Voilà les premières déductions que j'ai faites de la lecture de ton programme. Il est bien entendu que cela n'est qu'un début. Après, il sera nécessaire de créer la saisie des menus journaliers, des menus midi retraite et des viandes weekend.
Est-il permis de remplacer certains de tes termes par des mots complets (exemple : dic par dictionnaire ou par liste de choix;ctr pat compteur en tenant compte, évidemment, des nouveaux noms que j'utiliserais et qui ne devront pas être des mots clés de VBA).elque chose qui est du chinois pour moi (pour l'instant), ce sont les chiffres employés sur la ligne me.cbocodeslégumes.columnWidths="78,204,162,162,100"
Si je ne t'ai pas ici d'ici là, bonnes fêtes de Noël et du jour de l'an.
Bonnes soirée, nuit et continuation.