Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Calculer le BMI (IMC) en VBA

bomagicmusic

XLDnaute Occasionnel
Bonjour,

J'ai crée un user form qui me permet de rentrer la taille en cm et le poids en kg sans virgule.
J'ai donc la textbox taille et la textbox poids.
j'aimerai que le BMI se calcul automatiquement et aparaisse dans la textbox BMI, arrondie au chiffre le plus proche donc sans virgule.

Pourl'instant j'ai ce code:

Private Sub TextBoxTaille_Change()
TextBoxBMI = TextBoxPoids / (TextBoxTaille / 100 * TextBoxTaille / 100)
TextBoxBMI = Format(BMI, "##")
End Sub

Mais il doit y avoir une erreur quelque part
Quelqu'un a t'il la solution?

Merci
 

Efgé

XLDnaute Barbatruc
Re : Calculer le BMI (IMC) en VBA

Bonjour bomagicmusic, le fil, le forum,
Sans fichier pour tester rien n'est certain. Essai comme ça... ... peut être.
VB:
Private Sub TextBoxTaille_Change()
TextBoxBMI = Format(TextBoxPoids / ((TextBoxTaille / 100) * (TextBoxTaille / 100)), "##")
End Sub
Cordialement
 

bomagicmusic

XLDnaute Occasionnel
Re : Calculer le BMI (IMC) en VBA

Ben oui ça marche
Des heures que je tournais en rond merci
en revanche si je veux corriger la taille (erreur de saisie par exemple) ça plante avec message incompatibilité de type, une idée?
 

Efgé

XLDnaute Barbatruc
Re : Calculer le BMI (IMC) en VBA

Re
Comme tu utilise des textBox, il y a un risque de faire des calculs avec du texte....
Essai de forçer les valeur en numérique avec, par exemple Clng (F1 est ton amie)

TextBoxBMI = Format(Clng(TextBoxPoids) / ((Clng(TextBoxTaille) / 100) * (Clng(TextBoxTaille) / 100)), "##")

Si ce n'est pas bon, il faudra quand même penser à fournir un ti'exemple....
Cordialement
 

Staple1600

XLDnaute Barbatruc
Re : Calculer le BMI (IMC) en VBA

Bonsoir à tous


Une autre façon qui semble fonctionner

Code:
MsgBox Val(TextBox1 / (TextBox2 / 100) ^ 2)

Pour rappel: masse en kilogramme et taille en mètre
Ex: 55 kg et 1,50 donne bien 24 avec la macro ci-dessus.
 

bomagicmusic

XLDnaute Occasionnel
Re : Calculer le BMI (IMC) en VBA

Bonjour,

J'ai essayé les deux solutions mais j'ai toujours un bug si je tente de mofidier la taille. Ci-joint le fichier.

Merci de votre aide
 

Pièces jointes

  • Database BMI .xls
    233.5 KB · Affichages: 152

Efgé

XLDnaute Barbatruc
Re : Calculer le BMI (IMC) en VBA

Re bomagicmusic, Bonjour Staple ,
Pour le user form Nouveau Patient :
Tout fonctionne si :
- On bloque le traitement en cas de testBox vide
- On utilise normalement la proposition de Staple (ce n'était qu'un exemple, le MsgBox est une boite d'avertissement)

Donc en prenant tout ça en compte, je pense que ceci devrait aller:
VB:
Private Sub TextBoxTaille_Change()
If TextBoxTaille = "" Or TextBoxPoids = "" Then Exit Sub
TextBoxBMI = Val(TextBoxPoids / (TextBoxTaille / 100) ^ 2)
End Sub
Cordialement
 

Discussions similaires

Réponses
7
Affichages
464
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…