Problème de format de nombre avec formulaire userform

Bonsoir,

Après avoir consulter plusieurs forum et vidéos, je voulu créer un formulaire avec Userform pour gérer ma base de données "articles" pour pouvoir ajouter ou modifier un article. Mais je n'arrive toujours pas à faire en sorte que le prix unitaire de l'article se mette sous le format CHF 200.00 quand je crée un nouvel article ou que je modifie un article.

Je vous mets mon fichier à disposition car j'ai regardé sur plusieurs sites comment faire mais j'ai jamais réussi à faire.

Je vous remercies d'avance de vos réponses.

Bonsoir,

Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 1).Text

Il faut rappeler quelques bases : la propriété Text renvoie une valeur telle qu'elle apparaît dans la cellule, donc formatée si un format de cellule est appliqué. La valeur de la cellule, au cas particulier du prix est un nombre. Les valeurs des contrôles TextBox (ou ComboBox, etc.) sont toujours de type String. Donc lors de l'affectation à une cellule, il convient de les convertir... (C'est l'essentiel à ne jamais perdre de vue !)

Autres remarques : par défaut un Userform est modal. Il n'y a généralement pas de raison de l'ouvrir en non modal (cas marginaux d'utilisation). Il n'y a pas lieu donc de le préciser lors de l'appel de la méthode Show : en indiquant vbModel qui ne correspond à rien (les constantes VBA sont vbModal et vbModeless), vbModel sera identifiée comme variable non déclarée, de type variant et dans cette utilisation égale à 0 ou False. Autrement dit, tu ouvres tes Userforms en non modal ! Je conseille donc de supprimer ce paramètre...

Par ailleurs, 3 modules standard alors que pratiquement pas de code, ça promet une sacrée inflation ! Ramener à un seul module standard (un second ne saurait être justifié que s'il doit remplir des fonctionnalités distinctes du premier, par exemple accueillir des variables qui ne doivent pas être accessibles d'ailleurs dans le projet...)

Cordialement.

Rechercher des sujets similaires à "probleme format nombre formulaire userform"