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

Problème à résoudre sous VBA

Julien_42

XLDnaute Nouveau
Bonjour,

J'ai un programme à créer sous excel dans le cadre de mon projet tutoré, une première partie de mon programme doit calculer le besoin energétique. J'ai entré tout le code que j'avais besoins mais ça ne marche pas et je ne comprend pas pourquoi ça me met que le end if (en rouge) est sans bloc if.

Donc si quelqu'un pouvez m'aider à comprendre

Voici mon programme:

Private Sub CommandButton2_Click()
'Déclaration de variables
Dim age As Integer
Dim poids, taille As Single
Dim sexe As String
Dim act As Single 'coefficient d'activité physique
Dim BEE As Single 'Besoin énergétique estimé

'Valeur age, poids, taille
age = txt_age.Text
poids = txt_poids.Text
taille = txt_taille.Text / 100 'taille cm --> m


'Calcul du BEE si FEMME
If cmd_femme.Value = True Then
If cmd_act.Value = "sédentaire" Then act = B1 'prend valeur de la cellule B1
End If
If cmd_act.Value = "peu actif" Then act = B2
End If
If cmd_act.Value = "actif" Then act = B3
End If
If cmd_act.Value = "très actif" Then act = B4
End If

BEE = 354 - (6.91 * age) + act * (9.36 * poids) + (726 * taille)

'Calcul du BEE si HOMME
ElseIf cmd_homme.Value = True Then
If cmd_act.Value = "sédentaire" Then act = C1
End If
If cmd_act.Value = "peu actif" Then act = C2
End If
If cmd_act.Value = "actif" Then act = C3
End If
If cmd_act.Value = "très actif" Then act = C4
End If

BEE = 662 - (9.53 * age) + act * (9.36 * poids) + (726 * taille)

End If

MsgBox (BEE)




End Sub

je met un imprime écran de l'interface graphique, ça vous aidera à comprendre mon programme.




Merci d'avance de votre réponse
 

Pierrot93

XLDnaute Barbatruc
Re : Problème à résoudre sous VBA

Bonjour Julien

Aar edition code supprimé, je crois que j'ai été un peu vite en besogne... désolé...

bonne soirée
@+
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Problème à résoudre sous VBA

Bonjour Julien,

Bienvenue sur XLD,

il y a 2 façons d'écrire des If then

Code:
If Condition Then Action

dans ce cas, pas besoin de end If

ou

Code:
If Condition then
Action1
Action2
...
End if

Edit : Bonjour Pierrot, Bonjour Gilbert,

et d'autre part pour obtenir la valeur de la cellule B1 il faudrait mettre :

Code:
act = [B1]

ou

Code:
act = Range("B1").value
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Problème à résoudre sous VBA

Re,

Ben pourquoi ils s'en vont tous ?
Je sens le pétrole ???

Je n'ai même pas eu le temps de lire la réponse de Pierrot et celle de Gilbert me semblait correcte, non ?
 

Pierrot93

XLDnaute Barbatruc
Re : Problème à résoudre sous VBA

Re, bonsoir Toto, Gilbert

mais non Toto, pas d'odeur de pétrole, mais pas vu toutes les imbrications de "if".... pour ca que j'ai édité... bonne soirée
 

Julien_42

XLDnaute Nouveau
Re : Problème à résoudre sous VBA

Merci beaucoup de vos réponses ça marche... enfin j'obtient pas encore le bon résultat mais ça doit être un problème de formule.

Merci de m'avoir dit comment on faisait pour prendre la valeur d'une cellule tototiti2008, j'avais pas encore chercher comment on faisait.

Si je bloque encore dans la construction de mon programme je vous redemanderez de l'aide, vous êtes des Dieux... (bon ok j'exagère un peu ^^)
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…