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

Macros et VBA Excel Discussion :

Calcul total, moyenne. Indiquer le rang, l'appréciation et la décision


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut Calcul total, moyenne. Indiquer le rang, l'appréciation et la décision
    Bonjour à l'équipe. Un grand merci pour tout ce que vous faites pour nous les amateurs en VBA Excel.


    J'ai créé une base de données pour calculer la note de mes élèves et qui comporte 9 colonnes dont les quatre dernières ( les plus importantes) sont : total, moyenne, rang, appréciations ( passable, médiocre, très bien) et décision ( admis, échoué, exclu).
    J'ai utilisé l'enregistreur de macros mais je constate que c'est la première ligne qui est affectée quelque soit les notes que je rentre dans le formulaire or j'aimerais que mes calculs s'imbriquent à la suite des autres. Donc voici ce que je souhaiterais qu'on fasse :
    -pour le total j'ai fait la somme des cases des notes
    -pour la moyenne je voudrais pas d'une moyenne arithmétique car ici le coefficient des notes varient. Donc on fera le total divisé par une constante qui est soit 17 et multiplié par 2 [ (total/17)×2]
    - pour l'appréciation la moyenne d'admission est 10 ce qui donnera comme appréciations [ très insuffisant Moy<5; insuffisant Moy<=7; médiocre Moy<=9,99; passable Moy>=10; assez bien Moy>=14 ; bien Moy>=16 et très bien Moy>=18]
    - la décision est dépendante de la moyenne d'admission dont 10.
    -Pour le rang c'est selon la moyenne la plus élevée


    Donc voici un peu ce que j'ai fait mais qui n'avance pas de lignes.

  2. #2
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut
    Voici le code que je viens de rentrer.
    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
    if t1<>" or T2<>"" or T3<>"" or t4<>"" then
    With worksheets("rapports")
    Lig=.range("bz102").end(xlup).Row
    .listobjects(1).listrows.add
    .range("bz"& lig)=me.t1
    .range("ca"& lig)=me.t2
    .range("cb"& lig)=me.t3
    .range("ce"& lig)=me.t4
    .range("bx"& lig)=me.t_nom
    .range("by"&lig)=me.t_prenoms
    .range("cd"&lig)=activecells.formulaR1C1="=sum(RC[-4]:RC[-1])"
    .range("ce"&lig)activecells.formulaR1C1="=(RC[-1]/17)*2
    Range("cf"&lig)=activeshell.formulaR1C1="=(rank((RC[-1],R7C7:R10C7)"
    Range("cg"& lig)=activecell.formulaR1C1="=if(RC[-2]>10,""bien"",if (RC[-2]<10,""insuffisant""))"
    .Range("ch" & lig)=activecells.formulaR1C1="=if(RC[-3]>10,""admis"",if(RC[-3]<10,"" échoué""
    Dans mes différentes colonnes donnant le total,la moyenne,le rang, l'appréciation et la décision ,il s'affiche'' faux''
    Donc quelqu'un pourrait me situer et m'aider

  3. #3
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Excel étant un tableau à l'origine, il est spécifiquement fait pour ce genre d'application sans pour autant avoir besoin de faire du code VBA

    Je vois que tu utilises un tableau structuré, les formules saisies dans le tableau s'incrémenteront toutes seules lors d'ajout de ligne.
    Il te suffit de placer tes formule dans ton tableau directement, le TS fera le reste.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #4
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut
    Merci pour cette vision.
    Mais comme tu le sais, j'utilise un userform qui comporte trois pages et ces 3 pages comportent chacune des textbox et une listbox pour la saisie des notes des différents trimestres scolaires. Nous avons quatre compositions pour l'année et ce n'est pas pour une seule classe mais 6classes. Ce pourquoi j'ai préféré utiliser un formulaire de saisie plus rapide et qui me permettra aussi d'actualiser ma base de données.
    Donc si tu peux, volontier m'aider ça sera un ouf de soulagement pour moi.
    Merci encore une fois

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Citation Envoyé par Niamké 19 Voir le message
    Mais comme tu le sais, j'utilise un userform qui comporte trois pages et ces 3 pages comportent chacune des textbox et une listbox pour la saisie des notes des différents trimestres scolaires.
    Hé non! Ma boule de cristal est tombée en panne hier! Du coup j'ai plus de mal à deviner ce que les gens sont en train de faire chez eux... mais bon c'est plus intime comme ça non?
    Plaisanteries mises à part, comment veux tu que je le sache?

    Ça ne change à mon avis pas grand chose au problème, ton userForm je présume ne faiyt qu'ajouter des lignes et renseigner des notes dans ton tableau structuré, donc ton TS va automatiquement déployer les formule dans les colonnes qui en contiennent.

    Peux-tu placer ton fichier ici ?

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut
    voici mon fichier
    Fichiers attachés Fichiers attachés

  7. #7
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Voila un exemple de ce à quoi devrait ressembler ton tableau. Les formules sont en place, il ne reste qu'à saisir les notes
    Fichiers attachés Fichiers attachés

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  8. #8
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut
    Ok. Merci je test.et je te fais un feedback

    😅😅😅 . J'utilisais les classeurs Excel pour les rapports mais j' avoue que cela était un peu lent. Ce pourquoi j'ai pensé a une petite application.
    Ton fichier ne comporte aucun code.

    Tu pourras voir dans mon fichier joint que j'ai déjà mis plusieurs formules dans les différentes feuilles pour le calcul des notes et autres. Mais cela est un peu plus lent que le formulaire.

    En plus de cela je ne voudrais pas qu'un autre utilisateur modifie les données de la feuille. Donc elle restera protégée mais on pourra toutefois utiliser le formulaire pour saisir les notes.

  9. #9
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Nos messages se sont croisées.

    La structure de ton fichier devrait à mon avis être revue, sinon tu pars à la catastrophe, pour t'en donner la preuve regarder tes tableaux 2ème et 3ème trimestre. Tout est décaler à chaque fois que tu ajoutes des lignes dans les tableau au dessus...

    Il serait préférable soit de faire un onglet par trimestre, soit faire un onglet par niveau scolaire et de mettre les trimètres les uns à côté des autres. dans tous les cas, il faut absolument éviter de mettre des tableaux les uns en dessous des autres si tu veux éviter les problèmes, du moins c'est mon avis. A minima tes tableaux structurés (insertion, tableau) devrait faire la largeur complète de chaque tableau de section/trimètre pour éviter les problèmes de décalage de colonne comme c'est la cas sur le fichier actuel.

    Pour le nombre d’éleves, plutôt que de faire un nombre de lignes prédéterminer, une macro pourrait redimensionner tes tableaux au besoin.

    Sur le UserForm, plutôt qu'un ListBox, un ListView serait plus adapté à ton besoin, il contient une ligne entête et il est possible de cliquer sur les entêtes pour effectuer des tris.

    Pour renseigner les tableau sur la feuille Excel à partir du UserForm, il serait préférable de définir les nom des tableau pour pouvoir ensuite y faire référence dans le code en fonction des choix de l'utilisateur
    Par exemple
    Tab_Rap_CP1Trim1, Tab_Rap_CP1Trim2, Tab_Rap_CP1Trim3
    Tab_Rap_CP2Trim1, Tab_Rap_CP2Trim2, Tab_Rap_CP2Trim3
    ...

    Comme ça dans le code tu peux faire référence à ton tableau de cette façon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil1.listobject("Tab_Rap_" & Niveau & "Trim" & Trimestre)...
    Niveau contient la classe CP1, CP2, CM1, CM2, ...
    Trimetre... le trimestre en cours (1,2,3) en fonction par exemple de l'onglet sélectionné sur le UserForm

    Voila quelques pistes

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  10. #10
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut
    Merci pour la réponse. J'y ai même pensé mais étant donné que j'ai une faible base en VBA je n'ai pas voulu créer plusieurs feuilles pour les différentes classes. Ok. Je range tout ce bazar et je ramène le fichier comme tu me l'as suggéré. Merci encore 👍👍👍👍

  11. #11
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut
    Pour la listview la barre d'outils ne n'affiche pas. J'ai même utilisé tâche supplémentaires en faisant clique droit mais mon curseur se charge et après rien. Donc j'ai préféré utiliser la listbox.

  12. #12
    Membre éclairé
    Homme Profil pro
    instituteur
    Inscrit en
    Juillet 2018
    Messages
    617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : instituteur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2018
    Messages : 617
    Par défaut
    bonjour.
    suis a nouveau présent. j'ai rangé tout le bazar que j'ai créé et je t'envoie le fichier
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Quelle est la solution pour calculer les moyennes et rangs de l'ensemble des élèves ?
    Par morobaboumar dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 14/03/2020, 11h36
  2. [Débutant] Calculer la moyenne et le rang
    Par Galsen1 dans le forum Développement Windows
    Réponses: 1
    Dernier message: 24/12/2016, 08h48
  3. Aide pour calculer Total et Moyenne!
    Par samoterell dans le forum Excel
    Réponses: 18
    Dernier message: 11/09/2013, 10h15
  4. methode qui calcul une moyenne du traffic
    Par siry dans le forum Développement
    Réponses: 7
    Dernier message: 05/05/2005, 17h16
  5. calculer une moyenne avec une requete externe
    Par allowen dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/01/2005, 16h02

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