VB itération de colonne de cellule
Bonsoir,
Tout d'abord excusez-moi pour le niveau terrible que je dois avoir en programmation VBA...
Je suis donc étudiant et confronté à un problème dans un de mes exercices et j'aimerais trouver une solution !
l'énoncé :
1.Ecrire un programme qui permet de saisir n notes comprises entre 0 et 20 (0<n≤10 est connu et fixé c’est à dire qu’on demande de saisir cette valeur à l’utilisateur).
2. Ajouter au programme précédent le calcul de la moyenne arrondie à deux décimales des notes, le minimum, le maximum et le nombre d’occurrences du maximum.
3. Ajouter au programme l’affichage des notes saisies sur la première colonne de la Feuille 1 ainsi que la moyenne arrondie a` deux décimales des notes, le minimum, le maximum et le nombre d’occurrences du maximum.
4. On recommence l’exercice mais cette fois-ci on ne connaît pas d’avance le nombre n, le programme continue tant qu’une note incorrecte n’a pas été saisie.
Je suis actuellement bloqué à la question 3 j'ai fais plusieurs essais mais je n'arrive pas à trouver la façon de formuler ma requête, je voudrais pouvoir sélectionner la plage que j'ai fais écrire au programme et comparer une à une les valeurs pour trouver la plus petite et la plus grande !
Voila mon programme,( soyez tolérants svp il doit être brouillon) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
Sub ex8_1()
Dim nbredenote, A, B, C, D, E, Moyennearrondie As Double
Dim Cellule, Min, Max As Double
Dim element As Variant
C = 0
A = 0
B = 1
D = 0
E = 0
nbredenote = InputBox("combien de note voulez-vous saisir")
If nbredenote > 10 Or nbredenote < 0 Then
nbredenote = InputBox("Erreur! combien de note voulez-vous saisir (comprises entre 0 et 10)")
End If
For A = 1 To nbredenote
B = InputBox("veuillez saisir la note " & A)
Feuil1.Cells(1, A) = B
C = C + B
Next
For Each element In Worksheets("Sheet1").Range(1, 1)
If A > Min Then
Min = A
End If
Next
MsgBox ("la note minimum est de " & A)
For Each element In Range(1, 1)
If A < Max Then
Max = A
End If
Next
MsgBox ("la note maximum est de " & A)
Moyennearrondie = C / nbredenote
Moyennearrondie = Round(Moyennearrondie, 2)
MsgBox (Moyennearrondie)
End Sub |
Merci d'avance !
PS : Y a t il une différence entre VBA et VB ?
La balise code ça tue