TbQuantitéPourUnRepas et tbQuantitéPourLaJournée dans la procédure Récupéra

3menus.xlsm (277.32 Ko)

Bonsoir à toutes et à tous,

Dans la procédure cmdValidationCréationArticlesMenus_Click, en ce qui concerne les tbQuantitéPourUnRepaset tbquantitéPourLaJournée, il est fait mention de cdbl qui fonctionne correctement.

Dans la procédure RécupérationInfosCréationArticlesMenus, pour les tbQuantitéPourUnRepas et tbQuantitéPourLaJournée, est-il possible de prévoir qu'il reprenne les colonnes adéquates du tableau structuré TabBDArticlesMenus telles qu'elles sont (c'est-à-dire 4,00 et 8,00) et non 4 et 8 ?

D'avance merci pour votre réponse. Bonnes soirée et continuation à toutes et à tous. Prenez bien soin de vous.

Bonjour Christian,

Surement en forçant le format de tes "tbQuantitéPourUnRepas" et "tbQuantitéPourLaJournée"
Si c'est au moment de modifier "Nom articles menus" et qu'on indique "Oui" au message

image

On rentre dans la procedure "RécupérationInfosCréationArticlesMenus" et si tu regarde les 2 lignes où il y a "Geof" en commentaires :

J'indique le format "# ##0.00" et je remplace le point par une virgule avec "replace"

Sub RécupérationInfosCréationArticlesMenus(ByVal Indice As Long)
    'e programme va remplir les zones de liste modifiable (cb) et les zones de texte (tb) correspondants de l'UserForm UF01_CréationArticlesMenus en allant chercher les informa-
    'tions adéquates dans la feuille BD articles menus, tableau structuré TabBDArticlesMenus(indice I).
    With [TabBDArticlesMenus].ListObject
        'DataBodyRange : cette propriété renvoie un objet Range qui représente la plage de valeurs, à l'exception de la ligne d'en-tête dans une table. Type de données en lecture
        'seule.
        cbNomNatureArticlesMenus.Value = .ListColumns("Nom nature articles menus").DataBodyRange(Indice)
        tbCodeNomNatureArticlesMenus.Value = .ListColumns("Code nom nature articles menus").DataBodyRange(Indice)
        cbNomArticlesMenus.Value = .ListColumns("Nom articles menus").DataBodyRange(Indice)
        cbNomPériodeArticlesMenus.Value = .ListColumns("Nom période articles menus").DataBodyRange(Indice)
        cbNomConditionnementArticlesMenus.Value = .ListColumns("Nom conditionnement articles menus").DataBodyRange(Indice)
        tbQuantitéPourUnRepas.Value = Replace(Format(.ListColumns("Quantité pour un repas").DataBodyRange(Indice), "# ##0.00"), ".", ",")          'Geof => Format + Replace
        tbQuantitéPourLaJournée.Value = Replace(Format(.ListColumns("Quantité pour la journée").DataBodyRange(Indice), "# ##0.00"), ".", ",")      'Geof => Format + Replace
        tbDateCréationArticlesMenus.Value = .ListColumns("Date création articles menus").DataBodyRange(Indice)
        tbNuméroCréationArticlesMenus.Value = .ListColumns("Numéro création articles menus").DataBodyRange(Indice)
    End With
End Sub

Pour info : j'ai vu tes procédures qui remplacent le point par une virgule, mais vu qu'elles se déclenchent avec "_KeyPress" la macro ne passe pas dedans a ce niveau là et c'est pourquoi j'utilise replace.

A+

Bonjour GEOF52,

Merci pour ton programme modificatif. Je vais voir cela cette après-midi. J'ai imprimé ton message. Les modifications effectuées et si résultat satisfaisant, je mettrai ce fil en réponse utile et résolu (j'ai trouvé comment procéder, donc la dernière partie de mon dernier message d'hier soir est devenue inutile). J'ai modifié : résultat parfait. Faut-il garder les procédures concernant le key_Press de ces deux tb ? J'ai supprimé les deux procédures et cela fonctionne correctement : donc je peux les supprimer définitivement.

Faut-il garder les procédures concernant le key_Press de ces deux tb ?

Oui car "key_Press" va remplacer le point par une virgule si tu rentre directement une valeur dans les TextBox "tbQuantitéPourUnRepas" et "tbQuantitéPourLaJournée" qui n'est pas une valeur copié d'un tableau sur ton classeur.

Si j'ai bien compris le fonctionnement, tu souhaites avoir la possibilité de modifier ces deux valeur et les réintroduire dans le tableau Donc le point du pavé numérique se fera remplacer par la virgule grace a "key_Press" mais ne passera pas dans le replace que j'ai ajouté.

Je vais donc les réintroduire. Si tu vois d''autres modifications à effectuer dans ces deux userform, d'avance merci de me les signaler.

Rechercher des sujets similaires à "tbquantitepourunrepas tbquantitepourlajournee procedure recupera"