Saisir des notes

Salut à tous,

je suis en ici pour solliciter votre aide. J'ai fais un projet pour mon école mais un aspect reste à régler. Mon problème est que:

j'ai un userform dans lequel je souhaite saisir des notes. Je sélectionne la classe, la discipline puis je dois saisir les notes. Le problème est que je ne trouve pas le code.

Merci de m'aider. Je joints mon fichier pour plus de compréhensions.

Très respectueusement.

99saisie.zip (9.10 Ko)

Bonjour

Un essai à tester.

Deux remarques :

* Le bouton ‘’Valider’’ de ton UserForm me semble superflu. Je n’ai pas su quel rôle lui faire jouer.

* Si tu ouvres ce fichier avec une version Excel 2003, il te faudra vrasemblablement modifier les formules des moyennes et des Rangs sur les différentes feuilles…

Cela te convient-il tout de même ?

Bye !

88saisie-v1.zip (27.87 Ko)

Bonsoir,

Après examen de ton projet, je suppose que tu veux programmer le bouton OK pour charger ta ListBox selon le choix opérés en ComboBox. Pas de difficulté pour ça mais on pouvait économiser un bouton et manoeuvrer directement à partir des ComboBox.

Par contre pour faciliter la manoeuvre, il serait judicieux de nommer tes plages de façon dynamique, ce qui t'évitera de la dimensionner à chaque fois.

Cependant je vois pas comment tu vas procéder. S'il s'agit de noter, où vas-tu saisir les notes. Et pourquoi charger toute la feuille pour seulement mettre des notes dans une matière ?

La ListBox permet de voir, de sélectionner et déclencher une action lorsqu'on sélectionne un élément, pas de saisir.

Tu peux éventuellement envisager de stocker les notes dans un tableau virtuel (j'entends, qui n'apparaît pas) avec mise à jour en temps réel pour que tu puisses vérifier. Mais il faut de toutes façons inscrire la note quelque part, et si tu butes sur l'alimentation de la ListBox, là l'opération est un tout petit peu plus complexe.

Par ailleurs pourquoi décharger le Userform en cas d'annulation au lieu de le réinitialiser. D'autant que tu peux avoir plusieurs cas justifiant d'actions différentes : annulation de ta saisie de notes [une fois qu'elle aura été définie] en cours pour la reprendre (on n'élimine que les données saisies, le reste ne bouge pas), passage d'une matière à une autre sur la même classe (effacement de la saisie antérieure après validation, la classe demeure), passage d'une classe à une autre sans saisir...

En te souhaitant de préciser la méthodologie que tu entends mettre en oeuvre. Le code n'est jamais que la traduction de la façon dont tu as décidé d'opérer (mais plus dans les grandes lignes, dans le détail, geste par geste) une fois les supports les plus adéquats retenus.

Cordialement

Ferrand

Salut à vous tous,

salut gmb et Fernand.

Grand merci à vous.

J'ai bien compris ce que M. Fernand me demande. Je crois que par lui je saurais mieux expliquer mon problème en m'appuyant sur le travail extraordinaire de gmb.

Je vais revoir mon projet et revenir sur le forum pour vous le présenter.

Très respectueusement à vous.

Salut à tous,

je suis de retour avec mon projet revu. Je vous le renvoie pour plus de précision. Merci

94saisie-v2.xlsm (41.28 Ko)

Bonjour,

Excuse-moi d'en rester principalement pour l'instant à la "philosophie" du projet, mais je pense que la phase conception demeure la plus importante et que les rectifications ultérieures ne sont que des rustines qui ne s'intègrent pas toujours très bien. Certes les besoins évoluent et conduisent à des modifications périodiques mais un bon projet doit aussi prévoir la possibilité d'introduire des modifications ultérieures sans avoir à le repenser ni à bricoler trop sur l'existant. Et la réalisation est d'autant plus facile, avec économie de moyens et plus de fiabilité, que la conception est mieux finalisée.

En prenant les choses au départ, un tableur permet la saisie directe de données, leur consultation, leur modification, la réalisation d'un certain nombre d'opérations... Alors pourquoi utiliser un Userform quels avantages apporte-t-il ?

J'en vois principalement 2 : il n'est pas aisé d'intervenir sur un ensemble volumineux de données, et extraire les données dont on a besoin pour une opération ou les modifier facilite le travail ; d'autre part, cela permet la mise en place de dispositifs propres fiabiliser la saisie ou la modification (vérifications de cohérence, ...) et inclure certains traitements récurrents qui pourront être réalisés de façon transparente...

A ce titre, je vois bien l'intérêt de sélectionner une classe et une matière à noter, cela évite d'aller par inadvertance mettre des notes à une mauvais endroit. Tu peux même imaginer que le programme t'alerte si la note saisie présente des écarts disproportionnés avec les notes existantes (selon des critères qu'il t'appartient de définir).

Mais je vois beaucoup moins l'utilité de vouloir charger toutes les données de la classe, ce qui à mon avis rendrait l'opération de notation plus longue et compliquée que sa réalisation directement sur la feuille. comme tu veux pouvoir traiter des lots de 100 élèves ou plus, je te souhaite alors bon courage pour la seule réalisation du Userform...

Vu de l'extérieur mais je peux me tromper, pour noter (c'est à dire inscrire la note parmi les données) tu as besoin du nom (et prénom) de l'élève et éventuellement d'avoir une vue sur sa situation (données déjà existantes. La notation étant individuelle tu ne notes qu'un élève à la fois (en cas de notation collective, il faut concevoir un dispositif optionnel...), et donc pendant ce temps tu n'as nul besoin d'avoir les données de tous sous les yeux, ce serait même plutôt un élément parasite.

En second lieu, lorsqu'on charge un peu trop un Userform il devient de plus en plus difficile de l'organiser de façon ergonomique. Or si l'utilisation d'un Userform ne répond pas à des critères de facilitation (meilleur confort et plus d'efficacité et de fiabilité) son intérêt s'amenuise considérablement.

Dans les choix de réalisation, il y a toujours diverses options possibles dont il convient de vérifier l'adéquation aux critères que l'on aura retenu. Certaines sont équivalentes, et le choix relève alors d'inclinations personnelles.

En regardant d'un peu plus près la sélection de démarrage peut être faite avant ouverture du Userform ou après. La faire avant n'apporte rien, il faut de toutes façons agir sur un déclencheur, et le choix de la classe au moyen d'un ComboBox offre la souplesse de pouvoir passer d'une classe à l'autre sans fermer le Userform.

Choix matière : ComboBox aussi possible, (pour ma part j'y préfèrerai des OptionButton, plus rapide à l'utilisation et les matières étant prédéterminées, il n'y a pas de liste à actualiser, d'autant que le passage d'une matière à l'autre n'exige pas de réinitialiser les données, c'est simplement un "verrou" à déplacer).

Ce qui induit à distinguer l'initialisation "Classe" et l'option "Matière" dans les procédures qu'il faudra mettre en place et articuler.

L'aspect principal dans l'apparence qu'aura le Userform : n'adhérant pas à l'idée d'afficher toutes les donnée de toute la classe, j'oscillerai entre un défilement élève par élève (utilisant un SpinButton par exemple) provoquant l'affichage des données utiles (Nom, Prénom, autres info. existantes utiles [TextBox verrouillés ou Label], TextBox pour note matière concernée et éventuellement autre donnée à saisir [Appréciation...]) et la sélection sur liste (ListBox par exemple) déclenchant l'affichage dans les autres contrôles selon choix de l'utilisateur. Ces deux dispositifs ne se différencient que sur un point (défilement ou sélection) et pencher vers l'un ou l'autre dépend surtout des modalités de notation.

Je livre ces éléments à ta réflexion et n'ajouterai pour l'instant qu'une chose : tu n'es pas en train d'écrire une simple macro mais de concevoir une application, ce qui exige de bien délimiter ses différentes fonctionnalités pour pouvoir en optimiser la programmation.

Bien cordialement

Ferrand

Salut Ferrand,

merci pour tes conseils. Tu as bien parlé et tes paroles me font bien réfléchir. Merci pour tous.

Salut,

De mon côté, je me penche de plus près sur ton travail dès que j'aurai un peu plus de temps (il faut que je limite mes réponses il me semble, car ça fait vite boule de neige sur ce forum, je n'y suis pas encore rodé !)

Bonne soirée

Ferrand

Salut à tous,

malheureusement pour moi mon problème n'a toujours pas de solution. Voici le projet et merci encore à tous de m'aider.

103saisie-v2.xlsm (47.52 Ko)
Rechercher des sujets similaires à "saisir notes"