[Démo VBA] Une calculatrice sur un UserForm

Je sais.. je sais, des calculatrices il y en a à profusion sur la toile, mais j’ai employé ce support comme base pour démontrer l’utilisation de .. :

Module de classe

UserForm

Collections de classes : Rassembler les événements d’une série de contrôles en une seule procédure

Collections d’objets : Rassembler les propriétés d’une série de contrôles en une seule procédure

Traitement de zone de texte décimale en VBA

Dans le modèle français le séparateur des milliers est le point et des décimales est la virgule, alors que dans le modèle anglais c’est juste l’inverse, la virgule pour les milliers et le point pour les décimales.

Avec Excel FR pour un nombre avec décimale ont va donc avoir par exemple 10,6, jusque là pas de problème, faisons maintenant 10,6 *2 -> résultat !! 212, et oui, VBA est en anglais et a considérer la virgule comme séparateur de millier et l’a ignoré.

Pour y remédier il existe une fonction bien pratique c’est Replace() qui est employée dans la démo.

La fonction Evaluate()

Elle aussi bien pratique, elle évalue toutes expressions numériques exprimées sous forme de texte à condition de lui fournir un point comme séparateur décimale ce qui est réaliser avec la conjugaison de ces deux fonctions.

Label1.Caption = Evaluate(Replace(TextBox1.Text, ",", "."))
1

Mais comme qui peut le plus peut aussi le moins, 6+6 ça va aussi.

Le code employant plusieurs modules je ne l'ai pas mis sur l'astuce.

Vous pouvez télécharger la démo :

395calculatrice.zip (17.68 Ko)
Rechercher des sujets similaires à "demo vba calculatrice userform"