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
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+