IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

calcul moyenne avec des cases vides


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut calcul moyenne avec des cases vides
    Bonsoir chers tous.
    J'ai un souci et j'ai besoin d'aide.
    Pour mon projet de Gestion des examens blancs de mon école, j'ai opté pour la saisie des notes dans une TABLE_Notes du genre table excel dont voici l'image.
    Nom : Capture.PNG
Affichages : 985
Taille : 96,9 Ko
    Pour calculer le total des notes par candidat, j'ai placé dans "Touche relâchée de TABLE_Notes ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    m est un réel=TABLE_notes.COL_O_angl
    b est un réel=TABLE_notes.COL_Math
    c est un réel=TABLE_notes.COL_Pc
    d est un réel=TABLE_notes.COL_svt
    e est un réel=TABLE_notes.COL_Angl
    f est un réel=TABLE_notes.COL_HG
    g est un réel=TABLE_notes.COL_LV2
    h est un réel=TABLE_notes.COL_DQ
    i est un réel=TABLE_notes.COL_CF
    j est un réel=TABLE_notes.COL_EPS
    k est un réel=TABLE_notes.COL_EDHC
    l est un réel=TABLE_notes.COL_AP_MUS
     
    COL_Total=m+b+c+d+e+f+g+h+i+j+k+l
    Pour le calcul de la moyen par candidat, je pouvais faire COL_Total divisé par le nombre de matières. Mais il se trouve qu'il y a des élèves qui n'ont pas composés dans certaines matières. Comment donc calculer la moyenne du genre "Moyenne" d'excel?

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 938
    Points : 1 921
    Points
    1 921
    Par défaut
    Bonjour,

    Avant toute chose, je te conseille vivement d'arrêter d'utiliser des réels pour faire tes calculs, la précision de ces derniers n'étant pas "optimale", tu vas te retrouver avec des erreurs d'arrondi.

    D'autre part, il est tout de même très facile de parcourir les colonnes de la table pour une ;ligne et vérifier si quelque chose a été saisi. Une fois que tu as le nombre de colonnes saisies tu peux faire ta moyenne.
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Que dois-je don utiliser? des entiers?

    j'ai aussi utilisé ce code qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    T est un réel=m+b+c+d+e+f+g+h+i+j+k+l
    NbNotes est un entier
    COL_Total=T
     
     
    SI m <>Null NbNotes++
    COL_Moyenne=T/NbNotes
     
    SI b <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI c <>Null NbNotes++
    COL_Moyenne=T/NbNotes
     
    SI d <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI e <>Null NbNotes++
    COL_Moyenne=T/NbNotes
     
    SI f <>Null NbNotes++
    COL_Moyenne=T/NbNotes
     
    SI g <>Null NbNotes++
    COL_Moyenne=T/NbNotes
     
    SI h <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI i <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI j <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
     
    SI k <>Null NbNotes++ 
    COL_Moyenne=T/NbNotes
    dans cet examen du BEPC , toutes les matières ont le coefficient 1.

    Comment adapter ce code pour le Bac dont les coefficients varient selon la matière?

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ARNAUD ZIRIPE Voir le message
    Que dois-je don utiliser? des entiers?
    Des numériques ou des monétaires

    Comment adapter ce code pour le Bac dont les coefficients varient selon la matière?
    Je n'ai pas ton MLD sous les yeux, mais à priori il serait judicieux de penser à une colonne Coefficient dans une table de relation entre examen et matière, un peu comme ça
    Nom : screenshot_29-02-2020 15h40_n°01.png
Affichages : 761
Taille : 28,6 Ko
    La table "Composer" sera initialisée lors de l'inscription d'un élève à un examen, et la colonne NDX_Participer passera à vrai lorsque la note sera saisie.
    Il est alors simple, via une requête de calculer la moyenne, il suffit de sélectionner les enregistrements d'un élève qui a participé à la matière d'un examen.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Bonsoir Voroltinquo
    A fin de t'aider à me faire comprendre ce que tu tente de m'expliquer, je vais reproduire exactement le MLD. Ainsi pas à pas je pourrai suivre tes conseils. Mais j'explique que lors des délibérations, la saisie des notes, se fait de la manière suivante: philo candidat "A"+français candidat "A"+Mathématiques candidat "A"+ etc. avant de passer au candidat "B" et au candidat C ainsi de suite d'ou l'utilisation de la table de cette manière. serrait-il possible tel que se présente le MLD?

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    C'est toujours possible, le MLD ne fait que représenter les données telles qu'elles sont structurées.
    Ce n'est pas le MLD qui doit d'adapter aux besoins, c'est le développeur qui doit adapter l'interface et les traitement au MLD en fonction des besoins. Après, on est parfois obliger de passer par des solutions tordues, mais ce sont les joies du boulot.
    Après, si on traite ça candidat par candidat, une fiche individuelle avec une recherche sur le matricule, associée avec un champ table comportant les notes peut parfaitement faire l'affaire.
    Nom : screenshot_01-03-2020 21h43_n°01.png
Affichages : 1249
Taille : 37,5 Ko
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    ok je tente ça
    mais j'ai un autre souci. A la fin je dois produire un recueil de notes qui se présente comme la table sur l'image que j'ai jointe. serait-il possible dans ce cas là?

  8. #8
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ARNAUD ZIRIPE Voir le message
    ok je tente ça
    mais j'ai un autre souci. A la fin je dois produire un recueil de notes qui se présente comme la table sur l'image que j'ai jointe. serait-il possible dans ce cas là?
    Avec les sous-requêtes qui vont bien ou éventuellement avec un TCD (ou les 2,) ça devrait pouvoir passer.
    On recherche les notes des élèves qui on composé dans la matière d'un examen.
    Il va donc falloir commencer à chercher les matière d'un examen 1° sous requête qui va nous renvoyer (entre autre les PK_Matière_Examen disponibles), et on recherchera alors les PK_Composer pour un(ou plusieurs élèves) PK_Matricule pour ces PK_Matière_Examen.
    La chose la plus importante est d'"inscrire" les élèves à un examen, afin d'initialiser la table "Composer" et de pouvoir saisir les notes ultérieurement
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    ok je m'y met alors

  10. #10
    Membre actif

    Homme Profil pro
    Sans
    Inscrit en
    Mars 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Sans

    Informations forums :
    Inscription : Mars 2018
    Messages : 153
    Points : 295
    Points
    295
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Après, si on traite ça candidat par candidat, une fiche individuelle avec une recherche sur le matricule, associée avec un champ table comportant les notes peut parfaitement faire l'affaire.
    Nom : screenshot_01-03-2020 21h43_n°01.png
Affichages : 1249
Taille : 37,5 Ko
    C'est clair que si tu refais une interface sous forme de tableau et que tu cherches à reproduire le comportement d'un tableur, ...

    Ben autant utiliser un tableur

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Bonjour cher tous J'ai reproduit le MLD comme vous pouvez le voir sur cette image
    Nom : 2.PNG
Affichages : 710
Taille : 21,3 Ko
    Mais quand je tente de saisir les examens, il y a un message qui s'affiche
    Nom : 1.PNG
Affichages : 705
Taille : 46,2 Ko
    Que dois-je faire?

  12. #12
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 777
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 777
    Points : 5 191
    Points
    5 191
    Billets dans le blog
    1
    Par défaut
    Tu tentes de créer un examen alors qu'il n'y a pas de matières. Or il y a une cardinalité (1,n) entre Examen et Examen_Matière (cela signifie qu'un examen ne peut pas être créé sans matière, si l'élève n'a pas appris, il ne peu pas être testé).
    Avant la création de l'examen, il faut vérifier que la table Matière n'est pas vide (HNbEnr <> 0.) L'idéal est d'effectuer cette vérification via un trigger "avant" sur création, du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    tabResCréationMatière est tableau d'entier sur 8
     
    SI HNbEnr(Matiere)=0 ALORS
    	SI OuiNon("Il n'y a aucune matière","Pour créer un examen, il doit y avoir au moins une matière","Voulez vous en créer une ?") ALORS
                    //FEN_Matières est nécessaire à la création des matières pour un examen. Elle renvoie les matières sélectionnée. Lors de la création d'une matière, cette matière est sélectionnée donc est incluse dans le tableau
    		tabResCréationMatière=Ouvre(FEN_Matières)
    		SI tabResCréationMatière..Occurrence=0 ALORS
    			H.AFaire="A"
    			ErreurDéclenche(1,"Création examen impossible, pas de matières disponibles")
    			ToastAffiche(ErreurInfo(errMessage))
    		FIN
    	SINON
    		H.AFaire="A"
    		ErreurDéclenche(1,"Création examen impossible, pas de matières disponibles")
    		ToastAffiche(ErreurInfo(errMessage))
    	FIN
    FIN
     
    CAS ERREUR:
    	SELON ErreurInfo(errCode)
    		CAS 1
    			H.AFaire="A"
    			ToastAffiche(ErreurInfo(errMessage))
    		AUTRE CAS
    			Erreur(ErreurInfo())
    	FIN
    CAS EXCEPTION:
    	Erreur("Erreur fatale",ExceptionInfo())
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Bonsoir Voroltinquo
    J'ai utilisé le code et j'ai des Warnings dont voici l'image.
    Nom : Capture.PNG
Affichages : 662
Taille : 15,5 Ko et depuis je galère alors que je n'ai plus assez de temps.
    Je souhaiterais si ce n'est trop te demander que tu me fasses venir le fichier par mail à l'adresse lazirip@yahoo.fr car je sais que tu es très occupés. Ainsi je pourrai mieux comprendre et mieux assimiler. je sais que ce n'est pas le but du forum mais vraiment je galère.

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    TIEMELEKRO
    Inscrit en
    Janvier 2015
    Messages
    207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : TIEMELEKRO
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2015
    Messages : 207
    Points : 0
    Points
    0
    Par défaut
    Apparemment la proposition que j'ai faite de me faire parvenir le fichier, n'a pas été la bonne. C'est donc livré à moi même que je vais continuer de chercher des solutions à ma préoccupation.

Discussions similaires

  1. [XL-2010] Recherche dans un tableau avec des cases vide alternée
    Par tlt dans le forum Excel
    Réponses: 7
    Dernier message: 23/12/2016, 15h29
  2. [Débutant] Importer fichier texte avec des cases vides
    Par doublegadobax dans le forum MATLAB
    Réponses: 2
    Dernier message: 20/05/2011, 18h05
  3. Réponses: 14
    Dernier message: 06/05/2008, 16h16
  4. Calculer une moyenne avec des jours absents
    Par guidav dans le forum Langage SQL
    Réponses: 7
    Dernier message: 25/01/2008, 10h35
  5. calcul moyenne avec champs vides
    Par omarpascal dans le forum VBA Access
    Réponses: 8
    Dernier message: 28/11/2007, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo