Probleme dans un programme de notes

chadi42 Messages postés 4 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 4 février 2007 - 4 févr. 2007 à 20:42
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 4 févr. 2007 à 23:47
voici un programme pour rentrer des notes pour un concours de patinage artistique sur 20. Donc voila le programme a 2 probleme que je n'arrive pas a resoudre :
1- comment faire pour pouvoir ecrire mes notes en decimal ( As ?? )
2- les mots que jai souligner et mis en gras, il me dit que c une variable non-défini jai pas compris ce que je devai faire.

Voici mon programme :

Option Explicit
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??> 

Dim noteTab(8) As Double ' La note

 

Dim k As Integer

Dim Diviseur As Integer

Dim Max As Double ' La note maximum

Dim Min As Double ' La note minimum

Dim Moyenne As Double ' La moyenne général

Dim Somme As Double ' La somme

 

 

Private Sub Form_Load()

  ' Initialisation des variables

    Somme = 0

    Max = 0

    Min = 0

    Moyenne = 0

    Diviseur = 0

   

    Text1. Text = ""

  

    For k = 1 To 8

       noteTab(k) = InputBox("Entrer une note entre 0.0 et 6.0", "Command1")

    Next k

   

    Min = noteTab(1)

    Max = noteTab(1)

   

    For k = 2 To 8

        If Min > noteTab(k) Then

            Min = noteTab(k)

        End If

        If Max < noteTab(k) Then

            Max = noteTab(k)

        End If

    Next k

   

    Text1.Text = "La valeur minimale est de : " & Min & "; " & vbNewLine

   

   Text1.Text = Text1.Text & "La valeur maximale est de : " & Max & ";" & vbNewLine

   

   Text1.Text = Text1.Text & "Les notes des juges : "

   For k = 1 To 8

    Text1.Text = Text1.Text & noteTab(k) & ","

    Next k

   

    Text1.Text = Text1.Text & "La moyenne des notes : "

   

    For k = 1 To 8

        If noteTab(k) <> Min And noteTab(k) <> Max Then

           Somme = Somme + noteTab(k)

           Diviseur = Diviseur + 1

        End If

    Next k ' fin de la boucle

       

    Moyenne = Somme / Diviseur

   

    Text1.Text = Text1.Text & Moyenne & ","

    

End Sub

6 réponses

Profil bloqué
4 févr. 2007 à 20:55
Salut
Pour rentrer des nombres avec décimales tapes par exemple 6.3 pour 6,3 ( le point remplace la virgule
As-tu mis une zone de texte Text1 sur la feuille de ton programme ?

GRENIER Alain[8D]
0
chadi42 Messages postés 4 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 4 février 2007
4 févr. 2007 à 20:59
merci, mai la fonction pour rentrer des décimales c'est As decimal ??

Oui, j'ai mis une zone de texte mai je sai vraiment pas pourquoi ca marche pas


Merci de ton aide


 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
4 févr. 2007 à 21:05
Admettons qu'il y ait bien un contrôle Text1.

Rien ne prouve qu'il est déjà chargé (utilisation de l'événement Form_load..., à ce que nous voyons), lorsque l'on tente de modifier sa propriété Text (text1.text = "")...
0
chadi42 Messages postés 4 Date d'inscription lundi 29 janvier 2007 Statut Membre Dernière intervention 4 février 2007
4 févr. 2007 à 21:13
excuse moi j'ai pas très bien compris je suis très débutant désolé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Profil bloqué
4 févr. 2007 à 21:16
Attention le type Decimal est un sous-type du type Variant : inutile dans ton programme
De plus tu demandes l'entrée des notes dans la procédure Form_Load de ta feuille par l'inputbox : cela ne peut pas marcher car la feuille n'est peut-être pas totalement chargée
Visual Basic est un logiciel qui travaille avec des événements
Il faut d'abord charger la feuille par le Form_ Load puis ensuite dans une autre procédure par menu demander l'entrée des notes
Ta façon de programmer rappelle Qbasic que j'ai bien connu il y a quelques années
Décortique le travail
 1 ° Préparation de la feuille
 2 ° entrée des notes
 3 ° Calcul des moyennnes et des min et max

GRENIER Alain[8D]
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
4 févr. 2007 à 23:47
salut,
je te conseille le type Currency (tableau tout comme somme et moyenne)

input revoie un variant, à récupérer avec TON_CURR= Val (TON_INPUT).
pas besoin de déclarer des variables en générale, à voir selon le reste du code mais là, tout est à déclarer dans ta sub.
tu devrais passer par une variable temporaire dans ta boucle de saisie pour vérifier que la somme soit bien entre 0 et 6.

++
PCPT   [AFCK]
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous