Calcul que je n'arrive pas à faire

bonjour à tous

voila j'essaye de réaliser un calculer sur vba mais je n'arrive pas à le faire :

en fait je voudrais écrire une procédure qui permettrait d'entrer tout d'abord un nombre de note à inscrire puis il y aura une nouvelle boite avec à chaque fois la note à inscrire identifié par son numéro. Après avoir inscrit toutes les notes on affichera la moyenne.

le programme devra refuser toute notes non comprises entre 0 et 20 et des saisies non valides. il y aura donc un message d'erreur et on proposera de de refaire la saisie de la note

voila je pensais faire l'instruction "do - loop until" mais je ne suis pas sur

merci d'avance

Bonjour

voyante 2943 1

avec un exemple sur un fichier excel ? Pour voir plus clair...

Cordialement

bah vu que je ne vois pas top comment le faire je n'ai pas d'exemple

désolé

Bonour à tous,

gege37, il faudrait que tu donnes un exemple concret (avec des chiffres, dessins peut-être ?...), fait de façon manuelle. Amadéus n'aura peut-être pas besoin d'utiliser sa boule de cristal

d'accord

imaginons qu'une personne est trois notes : 13, 6 et 15

tout d'abord il doit entrer le nombre de notes

ensuite il écrit ces notes une par une (une note par inputbox) : une page pour la note 13, une pour 6 et une pour 15 sachant qu'il y aura un message d'erreur si la personne écrit autre chose qu'un chiffre ou un chiffre non compris entre 0 et 20 (après le message d'erreur l'utilisateur revient sur le message de la note a inscrire)

Enfin, après avoir écrit ces différentes notes il y a un message affichant la moyenne de ces notes, ici 11,33

voila j'espère que cela va un peu vous aider ^^

Re,

Essaie avec ce code gege37 :

Sub note()
Dim nbNote, noteIndiv, total As Double, i As Double
Dim SingPlur As String

    nbNote = Application.InputBox("Veuillez entrer le nombre de note :", "Nombre de notes", Type:=1)
    If VarType(nbNote) = vbBoolean Then Exit Sub

    Do While Not (nbNote > 0 And nbNote - Int(nbNote) = 0)
        MsgBox "Veuillez entrer un nombre entier positif !", vbExclamation
        nbNote = Application.InputBox("Veuillez entrer le nombre de note :", "Nombre de notes", Type:=1)
        If VarType(nbNote) = vbBoolean Then Exit Sub
    Loop

    SingPlur = IIf(nbNote = 1, " note.", " notes.")

    For i = 1 To nbNote

        noteIndiv = Application.InputBox("Veuillez entrer une note comprise entre 0 et 20 :", "Note " & i, Type:=1)
        If VarType(noteIndiv) = vbBoolean Then Exit Sub

        Do While Not (noteIndiv >= 0 And noteIndiv <= 20)
            MsgBox "Veuillez entrer une note comprise entre 0 et 20 !", vbExclamation
            noteIndiv = Application.InputBox("Veuillez entrer une note comprise entre 0 et 20 :", "Note " & i, Type:=1)
            If VarType(noteIndiv) = vbBoolean Then Exit Sub
        Loop
        total = total + noteIndiv

    Next i
    MsgBox "Vous avez saisi " & nbNote & SingPlur & vbNewLine & _
           "La moyenne est de : " & Format(total / nbNote, "0.00"), vbInformation
End Sub

merci beaucoup il marche bien

même si je le trouve un peu compliqué comme calcul cela me parait bizarre qu'on ne puisse pas faire plus simple vous ne pensé pas??

Salut gege37,

Désolé pour le délai de réponse, je viens seulement de lire ton message

Petit manque de moyens durant la semaine !

Il n'y a pas beaucoup de calcul donc que tu trouves-tu de compliqué ? Que voudrais-tu simplifier ?

Rechercher des sujets similaires à "calcul que arrive pas"