EXCEL et VBA- niveau débutante
Résolu
Patoche4944
Messages postés
3
Statut
Membre
-
Patoche4944 Messages postés 3 Statut Membre -
Patoche4944 Messages postés 3 Statut Membre -
Bonjour,
Je suis étudiante en IUT et on nous dispense un cours de programmation sous Visual Basic. Pendant les vacances, je dois rendre mes exercices sous VBA en passant par Excel, et je bloque sur l'exécution de ma commande. L'exercice, c'est d'utiliser des alternatives pour un petit programme, mais il y a une mise en forme que je n'ai pas dû faire correctement, car seule la dernière conditionnelle est prise en compte dans l'exécution...
Je n'y connais rien, suis débutante niveau très en dessous de zéro et n'ai pas de personne à qui me référer en ce moment. Est-ce que quelqu'un voit ce qui cloche dans ma saisie à tout hasard?
Ce n'est peut-être pas cette forme d'alternative que je dois utiliser? Notre guide papier n'est pas très explicite, et j'avoue que je suis larguée...
Merci d'avance pour le coup de main ;)
Je suis étudiante en IUT et on nous dispense un cours de programmation sous Visual Basic. Pendant les vacances, je dois rendre mes exercices sous VBA en passant par Excel, et je bloque sur l'exécution de ma commande. L'exercice, c'est d'utiliser des alternatives pour un petit programme, mais il y a une mise en forme que je n'ai pas dû faire correctement, car seule la dernière conditionnelle est prise en compte dans l'exécution...
Je n'y connais rien, suis débutante niveau très en dessous de zéro et n'ai pas de personne à qui me référer en ce moment. Est-ce que quelqu'un voit ce qui cloche dans ma saisie à tout hasard?
Ce n'est peut-être pas cette forme d'alternative que je dois utiliser? Notre guide papier n'est pas très explicite, et j'avoue que je suis larguée...
Merci d'avance pour le coup de main ;)
Dim N1 As Single
Dim N2 As Single
Dim EXAM As Single
Dim MOY As Single
Dim MESSAGE As String
Dim NOM As String
Dim PRENOM As String
Sub main()
'Saisie des données
NOM = InputBox("Saisissez le nom : ")
PRENOM = InputBox("Saisissez le prénom : ")
N1 = InputBox("Saisissez la première note de " & NOM)
N2 = InputBox("Saisissez la seconde note de " & NOM)
EXAM = InputBox("Saisissez la note d'examen de " & NOM)
'Calcul de la moyenne
MOY = (N1 + N2 + EXAM) / 3
If MOY > EXAM Then
NOTE = MOY
Else: NOTE = EXAM
End If
'Calcul de la mention
If NOTE > OU = 16 Then
MESSAGE = "a la mention TB."
Else:
If NOTE > OU = 14 Then
MESSAGE = "a la mention B."
Else:
If NOTE > OU = 12 Then
MESSAGE = "a la mention AB."
Else:
If NOTE > OU = 10 Then
MESSAGE = "a la mention Passable."
Else: MESSAGE = "est ajourné."
End If
End If
End If
End If
'Affichage du message final
MsgBox ("L'étudiant " & " " & NOM & " " & PRENOM & " " & MESSAGE)
End Sub
A voir également:
- EXCEL et VBA- niveau débutante
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et ou excel - Guide
- Déplacer colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
Bonjour,
Sub main()
Dim N1 As Single
Dim N2 As Single
Dim EXAM As Single
Dim MOY As Single
Dim MESSAGE As String
Dim NOM As String
Dim PRENOM As String
'Saisie des données
NOM = InputBox("Saisissez le nom : ")
PRENOM = InputBox("Saisissez le prénom : ")
N1 = InputBox("Saisissez la première note de " & NOM)
N2 = InputBox("Saisissez la seconde note de " & NOM)
EXAM = InputBox("Saisissez la note d'examen de " & NOM)
'Calcul de la moyenne
MOY = (N1 + N2 + EXAM) / 3
If MOY > EXAM Then
NOTE = MOY
Else
NOTE = EXAM
End If
'Calcul de la mention
If NOTE >= 16# Then
MESSAGE = "a la mention TB."
ElseIf NOTE >= 14# Then
MESSAGE = "a la mention B."
ElseIf NOTE >= 12# Then
MESSAGE = "a la mention AB."
ElseIf NOTE >= 10# Then
MESSAGE = "a la mention Passable."
Else
MESSAGE = "est ajourné."
End If
'Affichage du message final
MsgBox ("L'étudiant " & " " & NOM & " " & PRENOM & " " & MESSAGE)
End Sub
Je croyais qu'il fallait autant de Endif que de Else, j'ignorais qu'on n'était pas obligé de mettre OU entre > et =, et notre guide papier n'indique même pas le ElseIf...
Encore merci du coup de main, trop gentil ;)
Bonnes fêtes de fin d'année!