*Excel VBA - "Note non valide"

Résolu/Fermé
Yanine1 Messages postés 1 Date d'inscription dimanche 3 novembre 2013 Statut Membre Dernière intervention 3 novembre 2013 - Modifié par Yanine1 le 3/11/2013 à 20:43
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 3 nov. 2013 à 21:14
Écrivez une fonction EvaluationDC qui calcule une évaluation à partir d'une note donnée.

- note entre 50 et 60 => "très bien"

- note entre 40 et 49 => "bien"

- note entre 30 et 39 => "satisfaisant"

- note entre 20 et 29 => "insuffisant"

- note endesous de 20 => "mauvais"

Appliquez cette fonction sur une feuille de calcule



point supplémentaire :

Faites de sorte que la fonction n'évalue que des notes « légales » c. à d. entre 01 et 60.

Pour toutes les notes illégales on affiche "note non valide"



La dernière "question", c'est mon plus grand problème, j'ai aucune idée comment ça marche...
qqn qui peut m'aider? merci en avance :)





j'ai essayé avec:

Option Explicit

Sub EvaluationDC()



Value = Note

Dim Note As Double

Note = InputBox("Entrez une note entre 01 et 60: ")


If Value = 1 - 60 Then ' note non valide

Elself (Note >= 50) And (Note <= 60) Then

MsgBox ("Très bien")


ElseIf (Note >= 40) And (Note <= 49) Then

MsgBox ("Bien")

ElseIf (Note >= 30) And (Note <= 39) Then

MsgBox ("Satisfaisant")

ElseIf (Note >= 20) And (Note <= 29) Then

MsgBox ("insuffisant")

Else Note > 20 Then

MsgBox ("Mauvais")

End If

End Sub
A voir également:

1 réponse

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
Modifié par eriiic le 3/11/2013 à 21:23
Bonjour,

On n'a pas pour habitude de faire les devoirs. Mais comme tu as cherché et démarré on va te guider.

Ton Value = Note ne sert strictement à rien, enlève-le. Surtout que tu l'évalues alors que note n'est pas encore défini. De plus il faut éviter les mots-clés de vba en nom de variable.
Tu définis la variable note, utilise-là

Et fait tet test en commençant par le plus bas, ça t'évite de le répéter puisque le cas est déjà testé.

if note < 1 then
....
elseif note < 20 then
...
elseif ....
...
else
.....
endif

Faites de sorte que la fonction n'évalue que des notes « légales » c. à d. entre 01 et 60.

Il faut que tu boucles tant que la saisie n'est pas conforme, avec un while wend par exemple.
Dans ce cas dans le contrôle ensuite le test < 1 n'a plus lieu d'être puisqu'il ne peut pas arriver.
while note tu_mets_tes_tests_d'invalidité
inputbox(....)
wend

eric
1) En plus du merci (et oui, ça se fait !!!), penser à mettre en résolu (en haut vers votre titre) lorsque c'est le cas. 2) Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
0