TbMoisMenu ne se remplit pas entièrement

Bonjour à toutes et à tous,

Le tbMoisMenu se replit uniquement du mois, je n'arrive pas à faire apparaître l'année : date menu : 03 août 2025, mois menu devrait être août 2025. D'avance merci de m'aider à résoudre ce problème.

14comptabilite.xlsm (236.95 Ko)

Bonjour,

La faute ici:

Private Sub tbDateMenu_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
'Va afficher le celendrier pour choisir la date du menu.
    DateMenu = Calendrier.Choix(tbDateMenu)
        If DateMenu > 0 Then tbDateMenu = Format(DateMenu, "dddd d mmmm  yyyy")
    Call MiseÀJourTitre
End Sub

il y a un espace en trop devant "yyyy."

Cdlt

Bonjour Arturo83,

Merci. Cela fonctionne. Je ne pense jamais aux espaces. J'ai passé ma journée d'hier à rechercher l'erreur mais vainement évidemment. Avez-vous pu trouver des réponses à mon message d'hier de 12 h 35 du fil Existence d'un menu non signalée ?

Aujourd'hui, j'ai travaillé sur les tbQuantité_KeyPress et sur les .ListColumns("Quantité") de la procédure Private Sub cmdValidationCréationMenu_Click; j'ai effacé le contenu de la feuille BD menus, tableau structuré TabBDMenus. Puis j'ai créé différents menus : le tri et la renumérotation ne se font pas correctement (que ce soit avec les keys actuels ou inversant les keys actuels). Par contre, l'existence d'un menu ne fonctionne toujours pas. Lors de la création, selon nature menu allégée et nature menu, il y a de nombreuses modifications à effectuer pour rendre invisibles et inactifs certains intitulés, zones de liste modifiable, zones de texte. viande menu midi weekend : création d'un menu pour le lundi 04 août 2025 : refusée : message saisir samedi ou dimanche : c'est ok. Menu midi retraite : création du menu du samedi 09 août 2025 : refusée : message saisir date lundi au vendredi : c'est ok. Je vais travailler sur le semestre de viande menu midi weekend : selon date menu; premier ou deuxième semestre : OK. Par contre, le tri À l'ouverture du formulaire, rien sur légume deux (les lb, cb, tb sont invisibles et inactifs) : c'est ok. Si je crée un menu dimanche, avec comme légume Frites : tout ce qui concerne légume deux réapparaît : c'est parfait.

6comptabilite.xlsm (247.60 Ko)

Bonjour,

"Par contre, l'existence d'un menu ne fonctionne toujours pas."

Dans la "Function IndiceMenus", remplacez:

IndiceMenus = WorksheetFunction.Match(TabBDMenus, Range("TabBDMenus[Date menu]"), 0)

par:

IndiceMenus = WorksheetFunction.Match(DateMenu, Range("TabBDMenus[Date menu]"), 0)

On recherche le N° de ligne correspondant à la date du menu "DateMenu" dans le "TabBDMenus" de la feuille "Bd Menus"

La recherche s'effectue après avoir sélectionné un légume.

Bonjour Arturo83,

Mon planning journalier ne prévoyait pas de travailler sur VBA ce matin, d'où mon retard à répondre à votre message. J'ai effectué la modification effectuée et le résultat tant attendu s'est enfin réalisé. Merci pour la suggestion et surtout les commentaires qui l'accompagnait. Toutefois, j'ai un problème : je crée un menu midi retraite pour le lundi 04 août 2025, légumes : Maïs (comme pour le menu journalier à la même date) et j'ai le message que ce menu existe déjà. J'ai effectué une modification pour le tri mais dans les lignes suivantes, le tri ne se fait pas correctement.

Viande menu midi weekend
9comptabilite.xlsm (247.94 Ko)

J'ai ajouté un nouveau critère dans function IndiceMenus et cela semble fonctionner.

13comptabilite.xlsm (248.23 Ko)

Je pense que je vas pouvoir mettre Existence menu non signalée et tbmoisenu ne se remplit pas en résolu

Bonjour,

Je vois que vous n'avez toujours pas corrigé une erreur liée à un copié/collé (je ne l'avez pas signalé pensant que vous l'auriez vu de par vous-même),

dans les 3 macros suivantes: "Sub cbLégumes_Change"; "Sub cbLégumeDeux_Change", "Sub cbViandes_Change"

remplacez :

                tbCodeConditionnementLégumeDeux.Value = .ListColumns("Code conditionnement légume deux").databo(I)

par:

                tbCodeConditionnementLégumeDeux.Value = .ListColumns("Code conditionnement légume deux").DataBodyRange(I)

Cdlt

Bonjour Arturo83,

Désolé, mais je ne l'avais pas vue. Ces modifications effectuées entrainent-elles la modification de la procédure Function IndiceMenus (Suppression du critère supplémentaire ou on le garde ?)

Merci de répondre à ma question restée sans réponse : dans quel message (nom du fil et date) ou dans quel fichier (date du fichier) avez-vous écrit, je cite de mémoire) :"... on colle dans le tbMoisMenu, on colle dans le tbJourFérié" ? Je crois me souvenir, mais ce n'est pas une certitude, que ces deux on colle étaient dans une même procédure mais à deux endroits différents (dont l'un sur la ligne I = WorksheetFunction...).

Puisse-je clôturer les fils Existence menu non signalée, tbMoisMenu ne se remplit pas entièrement et tbJourFérié ?

Ces modifications effectuées entrainent-elles la modification de la procédure Function IndiceMenus (Suppression du critère supplémentaire ou on le garde ?),

NON, mais ça plantera sur ces lignes dès que le code va les atteindre.

*******************************************************************************************************

dans quel message (nom du fil et date) ou dans quel fichier (date du fichier) avez-vous écrit, je cite de mémoire)

Je pense que c'est dans "TbJoursFériés ne se remplit pas" du 28 juillet.

**********************************************************************************************************

Puisse-je clôturer les fils Existence menu non signalée, tbMoisMenu ne se remplit pas entièrement et tbJourFérié ? OUI

J'ai essayé de recréer un menu midi retraite du 04 août 2025, je n'ai aucune erreur mais le message que ce menu existe déjà ne s'affiche pas. J'ai supprimé le critère supplémentaire dans Function IndiceMenus et tenté de recréer mon menu : le message s'affiche bien.

Relisez mon post d'hier à 4h28

Quel rapport avec mon dernier message ?

'Extraction de la date au format "Date"
TabDate = Split(tbDateMenu, " ") 'on relève tous les termes de la date qui sont séparés par un espace en le numérotant de 0 à 3
'0 = jour en lettre, 1= jour en nombre, 2 = mois en lettre, 3 = année en nombre
DateMenu = Format(TabDate(1) & "/" & TabDate(2) & "/" & TabDate(3), "m/d/yyyy") ' on prend les 1er, 2ème et 3ème termes que l'on colle dans tbMoisMenu

'Mois menu.
tbMoisMenu = TabDate(2) & " " & TabDate(3) ' on prend les 2ème et 3ème termes que l'on colle dans tbMoisMenu

Dans mois menu, après "colle dans tbMoisMenu", puisse-je ajouter "colle automatiquement également dans dans tbJourFérié" ?

je n'ai aucune erreur mais le message que ce menu existe déjà ne s'affiche pas.

C'était bien votre question, non!

Oui mais je ne vois toujours pas le rapport. À moins qu'il n'y ait une erreur dans mon code.

Rechercher des sujets similaires à "tbmoismenu remplit pas entierement"