VBA

Fermé
nicheca - 9 déc. 2012 à 16:42
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 15 déc. 2012 à 16:34
Bonjour,


Nous réalisons un programme permettant de calculer les IMC, IMG et poids idéal. Nous avons commencé sous Word (peut être aurions nous du le faire sous excel? si oui, comment passer nos userform de word à excel?)
De plus on voudrait afficher des commentaires pour commenter les résultats des valeurs d'IMC, IMG... mais nos boucles if ne fonctionnement pas?? help
De plus on voudrait prendre des valeurs d'une première userform complétées pour les intégrer dans un 2ème caclcul se situant dans une formule dans une userfom2, comment faire?
Pour éclaircir mes propos je vous met les codes des deux userform:
Sur le code de la userfom 1 on voudrait mettre aussi un message d'erreur si les gens ne renseignent pas leur sexe en ne cliquant ni sur homme ni sur femme?


Userform 1

' demander au prof '

'Public Sub UserForm1_Initialize()
'Call Module1.settaille.Value'
'Call Module1.setage.Value '
' fin '

'End Sub'


' DEFINITION DES DIM'

Dim age As Integer
Dim taille As Integer
Dim masse As Integer
Dim tour_de_poignet As Integer

Dim IMC As Integer
Dim IMG As Integer
Dim PI As Integer
Dim PI1 As Integer
Dim PI2 As Integer



' Message d'erreur si absence de renseignement du sexe

Public Sub OptionButton1_Click()


If OptionButton1 = False And OptionButton2 = False Then


MsgBox "Veuillez renseigner votre sexe ..."
End If
End Sub



' BOUTON IMC '

Public Sub CommandButton1_Click()


age = TextBox1.Value
masse = TextBox2.Value
taille = TextBox3.Value
tour_de_poignet = TextBox4.Value



IMC = Round((masse) / ((taille / 100) * (taille / 100)), 0)

MsgBox "Votre IMC est de " & IMC & " kg/m2 "

' faire une boucle if avec si vous avez un imc de elle valeure alors vous etes etccc'
'Commentaire

If (IMC < 16) Then MsgBox "Attention, vous êtes en anorexie"

ElseIf (IMC >= 16) And (IMC < 19) Then MsgBox "Attention, vous êtes maigre"

ElseIf (IMC >= 19) And (IMC < 25) Then MsgBox "Vous avez une corpulence normale"

ElseIf (IMC >= 25) And (IMC < 30) Then MsgBox "Surveillez vous, vous êtes en surpoids"

ElseIf (IMC >= 30) And (IMC < 35) Then MsgBox "Attention, vous êtes en obésité modérée"

ElseIf (IMC >= 35) And (IMC < 40) Then MsgBox "Attention, vous êtes en obésité élevée"

Else: MsgBox "Pas de chance, vous êtes en obésité morbide"

End If

End Sub

' BOUTON IMG'

Public Sub CommandButton2_Click()

If OptionButton1 = True Then
IMG = (1.2 * IMC) + (0.23 * age) - (10.8 * 0) - 5.4
Else
IMG = (1.2 * IMC) + (0.23 * age) - (10.8 * 1) - 5.4
End If


MsgBox "Votre IMG est de " & IMG & " % "



End Sub


'BOUTON POIDS IDEAL'

Public Sub CommandButton3_Click()

' renvoi vers l'userform 2 '

Userform1.Hide
Load UserForm2
UserForm2.Show


End Sub



Userform 2:


Dim lorentz As Integer
Dim age As Integer
Dim taille As Integer



Public Sub userform2_initialize()

Call Module1.settaille.Value
Call Module1.setage.Value

End Sub


' Formule de Lorentz

Public Sub CommandButton1_Click()

taille = Module1.gettaille
lorentz = taille - 100 - ((taille - 150) + 2.5)

MsgBox "Votre poids idéal selon la formule de Lorentz est de " & lorentz & "kg"


End Sub

' Formule de Monnerot

Public Sub CommandButton3_Click()
PI2 = (taille - 100 + 4 * tour_de_poignet) / 2
MsgBox "Votre poids idéal selon la formule de Monnerot est de " & lorentz & "kg"

End Sub


'Retour
Public Sub CommandButton5_Click()
UserForm2.Hide
Load Userform1
Userform1.Show
End Sub

Private Sub UserForm_Click()

End Sub



MERCI d'avance pour votre aide précieuse

6 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
9 déc. 2012 à 20:03
Bonjour,
Pour passer votre Userform Word vers Excel:

Ouvrez le VBA word de votre Userform, reduisez la largeur de la fenetre, mettez la fenetre de Word dans la barre de tache

Ouvrez un nouveau fichier Excel
Ouvrez la VBA Excel (idem Word), reduisez la largeur de la fenetre, mettez la fenetre Excel dans la barre de tache

click sur la fenetre VBA Word, placez la de facon a voir la partie gauche de la fenetre VBA Excel

Click sur l'Userform, maintenez le bouton et glissez de facon a placer l'Userform dans la fenetre VBA Excel (Des que le pointeur souris s'affiche avec une croix dans un carre c'est OK. L'Userform est copiee avec son code.

A+
0
Merci beaucoup pour cette explication claire et fonctionnelle, d'autres solutions pour les autres questions?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
11 déc. 2012 à 08:23
Bonjour,

Sur le code de la userfom 1 on voudrait mettre aussi un message d'erreur si les gens ne renseignent pas leur sexe en ne cliquant ni sur homme ni sur femme? Vous pouvez au lancement de l'UF ne pas afficher le bouton de validation et le faire afficher seulement si une option sexe est valide. Vous pouvez faire de meme si vous voulez avoir un controle de toutes les saisies.

A la limite, pouvez-vous mettre votre fichier sur : https://www.cjoint.com/ copiez le lien cree dans votre prochain post. Je regarderai ce que je peux faire pour vous aider

A+
0
Voila, désolée pour le délai, j'avais pas vu la réponse.

Merci

http://cjoint.com/?BLpiOXSLlJS
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
15 déc. 2012 à 08:57
Bonjour,

Je recupere le fichier et vous tiens au courant.

A+
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 702
15 déc. 2012 à 16:34
Re,

De quoi vous divertir:

https://www.cjoint.com/?BLpqGVQhp8l

Pour les commentaires, je ne saisie pas trop ce que vous voulez puisque vous ne sauvegardez pas les donnees!!!!!!!


A+
0