*Excel VBA - "Note non valide"
Résolu
Yanine1
Messages postés
1
Statut
Membre
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
É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
- 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:
- *Excel VBA - "Note non valide"
- Ethernet n'a pas de configuration ip valide - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
1 réponse
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é.
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.
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.
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.