XL 2016 Sélectionner une feuille parmi plusieurs pour en afficher les données dans un formulaire.

DJISA

XLDnaute Occasionnel
Bonjour! Je reviens avec le même problème mais en joignant cette fois ci un fichier pour plus de concret.
Pour ceux qui n'ont pas lu la discussion, je ferez un rappel
VbaProject(Gestion des notes): Feuil1(3èmeA); Feuil2(3èmeB); Feuil3(4èmeA); Feuil4(4èmeB); Feuil5(5èmeA); Feuil6(5èmeB); Feuil7(6èmeA); Feuil8(6èmeB)
Mon souhait est de pouvoir afficher les prénom, nom...et les notes d'un élève quelconque dans un formulaire en sélectionnant d'abord sa classe via un combox et puis en tapant son code dans un textbox (Une recherche en deux étapes).
Je voudrais aussi pouvoir, à partir du formulaire, modifier, supprimer des données.
Je crois que vous pourrez voir le formulaire associé en passant par l'onglet développeur.
Merci d'avance.
 

Fichiers joints

Robert

XLDnaute Barbatruc
Bonsoir Djisa, bonsoir le forum,

Elle est où la combobox des classes ?


[Édition]
Je l'ai trouvée mais ce n'est pas logique de la placer là puisque c'est la première chose que tu dois renseigner... Elle devrait se trouver en haut au début de l'UserForm... Mais bon...

[Édition2]
Tes onglet sont tous vides !... Comment veux-tu qu'on teste ?!... Une poignée de données dans un des onglets ne t'aurait pas donné tant de travail !... J'aurais volontier travaillé sur ton fichier mais là, je baisse les bras...
 
Dernière édition:

DJISA

XLDnaute Occasionnel
Bonsoir Djisa, bonsoir le forum,

Elle est où la combobox des classes ?


[Édition]
Je l'ai trouvée mais ce n'est pas logique de la placer là puisque c'est la première chose que tu dois renseigner... Elle devrait se trouver an haut au début de l'UserForm... Mais bon...

[Édition2]
Tes onglet sont tous vides !... Comment veux-tu qu'on teste ?!... Une poignée de données dans un des onglets ne t'aurait pas donné tant de travail !... J'aurais volontier travaillé sur ton fichier mais là, je baisse les bras...
Ok Robert toutes nos excuses. Nous revenons avec des données fictives pour tests. Pour chaque classe nous avons choisi un effectif de 4 élèves. Ces notes concernent seulement le premier semestre c'est pourquoi la colonne "Décisions" n'est pas remplie.
Le formulaire pour l'instant prend seulement en charge le premier semestre.
 

Fichiers joints

fanfan38

XLDnaute Accro
Bonjour
Ma solution (mais apparemment il manque la colonne Récitation)...
Je n'ai donc pas continué la saisie de la macro (dans le module)
J'ai dû enlever des feuilles fichier trop volumineux pour transfert sur le site...
Double clic sur un nom pour voir le formulaire

A+ François
 

Fichiers joints

Robert

XLDnaute Barbatruc
Bonjour le fil, bonjour le forum,

Jean Marie a raison, un fil en doublon c'est pas une bonne idée, tu vas t'y perdre toi même...

Vu qu'il n'y avait aucun bouton pour lancer l'UserForm j'ai trouvé excellente l'idée de Fanfan de double-cliquer pour le lancer. Pour ma part j'ai opté pour la colonne B (le code). Il suffit d'aller dans l'onglet de la classe désirée et de double-cliquer sur le code de l'élève pour ouvrir l'UserForm.

La récupération des données se fait grâce à la propriété [Tag] des contrôles qui est égale à la colonne où se trouve le résultat. Une simple boucle suffit pour remplir l'UserForm. Comme tu pourras le constater, les textboxes CP sont vides car je ne savait pas à quoi elles correspondaient. MD, COMP, MS, Points, ou autre. Il suffira de leur donner la propriété [Tag] qui correspond à la bonne colonne.
J'ai rajouté un bouton toupie (à coté du code) qui permet de faire défiler les élèves d'une même classe...

Que veux -tu faire avec le bouton Effacer Matière ? effacer les 3 textboxes et les 3 cellules apparentées d'une matière ?
et avec celui Remise à Zéro ? Effacer toutes les notes ?
Où doit-on récupérer les données pour remplir les champs Résultat semestre 1 et Résultat semestre 2 (par la suite) ?

En pièce jointe la version 01 en attendant les précisions demandées pour aller de l'avant...

Voir la version 02 plus bas...
 
Dernière édition:

Eric C

XLDnaute Accro
Bonjour le forum
Bonjour DJISA, bonjour fanfan38, bonjour ChTi160 & bonjour Robert



Jean Marie a raison, un fil en doublon c'est pas une bonne idée, tu vas t'y perdre toi même..
Même ce post a déstabilisé notre ami Robert...:D qui a de ce fait joint le mauvais fichier
 

Robert

XLDnaute Barbatruc
Re,

Ho P... Éric ! Merci j'ai corrigé mon horreur... J'espère que Djisa ne l'avait pas encore téléchargé...

Voir la version 02 plus bas...
 
Dernière édition:

Robert

XLDnaute Barbatruc
Arf !.... Honte à moi !

[Édition]
Mais finalement pas bien grave puisque voici la version 02 (en attendant les précisions de Djisa pour la v03) avec un onglet Recherche qui permet de filtrer les données.
- Taper le nom d'une classe (3A par exemple) pour avoir la liste des élèves de cette classe.
- Taper F ou M pour lister l'ensemble des filles ou de garçons de l'école.
- Taper deux caractères au moins pour filtrer les colonnes Code, Prénom, Nom, Lieu de naissance et Âge dont les premiers caractères correspondent au caractères tapés. Si la ListBox se vide c'est qu'il n'y a pas de correspondance

Cliquer dans un nom dans la Liste pour afficher ces données...
 

Fichiers joints

Dernière édition:

DJISA

XLDnaute Occasionnel
Bonjour le fil, bonjour le forum,

Jean Marie a raison, un fil en doublon c'est pas une bonne idée, tu vas t'y perdre toi même...

Vu qu'il n'y avait aucun bouton pour lancer l'UserForm j'ai trouvé excellente l'idée de Fanfan de double-cliquer pour le lancer. Pour ma part j'ai opté pour la colonne B (le code). Il suffit d'aller dans l'onglet de la classe désirée et de double-cliquer sur le code de l'élève pour ouvrir l'UserForm.

La récupération des données se fait grâce à la propriété [Tag] des contrôles qui est égale à la colonne où se trouve le résultat. Une simple boucle suffit pour remplir l'UserForm. Comme tu pourras le constater, les textboxes CP sont vides car je ne savait pas à quoi elles correspondaient. MD, COMP, MS, Points, ou autre. Il suffira de leur donner la propriété [Tag] qui correspond à la bonne colonne.
J'ai rajouté un bouton toupie (à coté du code) qui permet de faire défiler les élèves d'une même classe...

Que veux -tu faire avec le bouton Effacer Matière ? effacer les 3 textboxes et les 3 cellules apparentées d'une matière ?
et avec celui Remise à Zéro ? Effacer toutes les notes ?
Où doit-on récupérer les données pour remplir les champs Résultat semestre 1 et Résultat semestre 2 (par la suite) ?

En pièce jointe la version 01 en attendant les précisions demandées pour aller de l'avant...

Voir la version 02 plus bas...
Bonjour
Arf !.... Honte à moi !

[Édition]
Mais finalement pas bien grave puisque voici la version 02 (en attendant les précisions de Djisa pour la v03) avec un onglet Recherche qui permet de filtrer les données.
- Taper le nom d'une classe (3A par exemple) pour avoir la liste des élèves de cette classe.
- Taper F ou M pour lister l'ensemble des filles ou de garçons de l'école.
- Taper deux caractères au moins pour filtrer les colonnes Code, Prénom, Nom, Lieu de naissance et Âge dont les premiers caractères correspondent au caractères tapés. Si la ListBox se vide c'est qu'il n'y a pas de correspondance

Cliquer dans un nom dans la Liste pour afficher ces données...
Bonjour !
Tout d'abord je m'excuse sur les changements apportés à mon projet. J'avoue que les choses n'étaient pas très claires dans ma tête. Cette fois-ci je crois savoir où je vais. Toutefois s'il y a des suggestions elles seront les bienvenues.
Le but du projet est de gérer efficacement les notes des élèves de mon établissement en utilisant un formulaire qui pourra afficher les notes des semestre 1 et semestre 2 de l'élève sélectionné. Pour les semestres, j'ai utilisé deux classeurs.
Le formulaire nous permettra de faire des recherches plus rapides (Nous sommes très souvent solliciter par des élèves qui font des réclamations après avoir reçu leurs bulletins ou des profs qui veulent changer des notes d'élèves).
LES COMMANDES DU FORMULAIRE
1/ Le bouton modifier: Permet de modifier des données (avec un msgbox "Voulez-vous modifier ces données", oui/non)
2/ Le bouton Vider: Pour faire disparaitre les données du formulaire
3/ Le bouton Voir la base: Pour aller à la classe sélectionnée
4/ Le bouton précédent: Pour aller de l'élève 3 à l'élève 2 (Avec un msgbox "Vous êtes au premier élève")
5/ Le bouton suivant: Pour aller de l'élève 1 à l'élève 2, par exemple (Avec un msgbox "Vous êtes au dernier élève")
6/ Le bouton Quitter: Pour fermer le formulaire.
POUR ALLER PLUS LOIN
Peut-on utiliser le même formulaire pour imprimer les bulletins des élèves?
Si oui, j'aimerais avoir ces options d'impression si possible:
1/ Une option "imprimer tous les bulletins de la classe sélectionnée" avec deux bulletins par page
2/ Une option "imprimer le bulletin de l'élève sélectionné
Je vous envoie un dossier qui comprend les deux classeurs et le formulaire et un fichier qui liste les colonnes et cellules concernées par le formulaire.
Merci d'avance!
 

DJISA

XLDnaute Occasionnel
Arf !.... Honte à moi !

[Édition]
Mais finalement pas bien grave puisque voici la version 02 (en attendant les précisions de Djisa pour la v03) avec un onglet Recherche qui permet de filtrer les données.
- Taper le nom d'une classe (3A par exemple) pour avoir la liste des élèves de cette classe.
- Taper F ou M pour lister l'ensemble des filles ou de garçons de l'école.
- Taper deux caractères au moins pour filtrer les colonnes Code, Prénom, Nom, Lieu de naissance et Âge dont les premiers caractères correspondent au caractères tapés. Si la ListBox se vide c'est qu'il n'y a pas de correspondance

Cliquer dans un nom dans la Liste pour afficher ces données...
Bonjour !

Tout d'abord je m'excuse sur les changements apportés à mon projet. J'avoue que les choses n'étaient pas très claires dans ma tête. Cette fois-ci je crois savoir où je vais. Toutefois s'il y a des suggestions elles seront les bienvenues.

Le but du projet est de gérer efficacement les notes des élèves de mon établissement en utilisant un formulaire qui pourra afficher les notes des semestre 1 et semestre 2 de l'élève sélectionné. Pour les semestres, j'ai utilisé deux classeurs.
Le formulaire nous permettra de faire des recherches plus rapides (Nous sommes très souvent solliciter par des élèves qui font des réclamations après avoir reçu leurs bulletins ou des profs qui veulent changer des notes d'élèves).
LES COMMANDES DU FORMULAIRE
1/ Le bouton modifier: Permet de modifier des données (avec un msgbox "Voulez-vous modifier ces données", oui/non)
2/ Le bouton Vider: Pour faire disparaitre les données du formulaire
3/ Le bouton Voir la base: Pour aller à la classe sélectionnée
4/ Le bouton précédent: Pour aller de l'élève 3 à l'élève 2 (Avec un msgbox "Vous êtes au premier élève")
5/ Le bouton suivant: Pour aller de l'élève 1 à l'élève 2, par exemple (Avec un msgbox "Vous êtes au dernier élève")
6/ Le bouton Quitter: Pour fermer le formulaire.
POUR ALLER PLUS LOIN
Peut-on utiliser le même formulaire pour imprimer les bulletins des élèves?
Si oui, j'aimerais avoir ces options d'impression si possible:
1/ Une option "imprimer tous les bulletins de la classe sélectionnée" avec deux bulletins par page
2/ Une option "imprimer le bulletin de l'élève sélectionné
Je vous envoie 3 fichiers: 2 classeurs, un qui contient les notes du semestre 1 et le formulaire, un autre les notes du semestre 2 et un fichier qui liste les colonnes et cellules concernées par le formulaire.

Merci d'avance!
 

Fichiers joints

DJISA

XLDnaute Occasionnel
Bonjour DJISA
Bonjour le Fil(Francois)
je n'avais pas vu ce Fil ! Pas Cool ........
le Doublon Lol
excuses je laisse la main.....
Bonne continuation
jean marie
Bonjour !

Tout d'abord je m'excuse sur les changements apportés à mon projet. J'avoue que les choses n'étaient pas très claires dans ma tête. Cette fois-ci je crois savoir où je vais. Toutefois s'il y a des suggestions elles seront les bienvenues.

Le but du projet est de gérer efficacement les notes des élèves de mon établissement en utilisant un formulaire qui pourra afficher les notes des semestre 1 et semestre 2 de l'élève sélectionné. Pour les semestres, j'ai utilisé deux classeurs.
Le formulaire nous permettra de faire des recherches plus rapides (Nous sommes très souvent solliciter par des élèves qui font des réclamations après avoir reçu leurs bulletins ou des profs qui veulent changer des notes d'élèves).
LES COMMANDES DU FORMULAIRE
1/ Le bouton modifier: Permet de modifier des données (avec un msgbox "Voulez-vous modifier ces données", oui/non)
2/ Le bouton Vider: Pour faire disparaitre les données du formulaire
3/ Le bouton Voir la base: Pour aller à la classe sélectionnée
4/ Le bouton précédent: Pour aller de l'élève 3 à l'élève 2 (Avec un msgbox "Vous êtes au premier élève")
5/ Le bouton suivant: Pour aller de l'élève 1 à l'élève 2, par exemple (Avec un msgbox "Vous êtes au dernier élève")
6/ Le bouton Quitter: Pour fermer le formulaire.
POUR ALLER PLUS LOIN
Peut-on utiliser le même formulaire pour imprimer les bulletins des élèves?
Si oui, j'aimerais avoir ces options d'impression si possible:
1/ Une option "imprimer tous les bulletins de la classe sélectionnée" avec deux bulletins par page
2/ Une option "imprimer le bulletin de l'élève sélectionné
Je vous envoie 3 fichiers: 2 classeurs, un qui contient les notes du semestre 1 et le formulaire, un autre les notes du semestre 2 et un fichier qui liste les colonnes et cellules concernées par le formulaire.

Merci d'avance!
Bonjour
Ma solution (mais apparemment il manque la colonne Récitation)...
Je n'ai donc pas continué la saisie de la macro (dans le module)
J'ai dû enlever des feuilles fichier trop volumineux pour transfert sur le site...
Double clic sur un nom pour voir le formulaire

A+ François
Bonjour!
Merci d'avoir répondu. Il y a des classes qui ne font pas certaines disciplines, comme la récitation en troisième. C'est pourquoi j'ai masqué les colonnes concernées par cette discipline.
Toutefois il y a des changements de taille dans le projet. Je les partage avec vous en voyant trois fichier. Mais d'bord je vous explique le but du projet.
Bonjour !

Tout d'abord je m'excuse sur les changements apportés à mon projet. J'avoue que les choses n'étaient pas très claires dans ma tête. Cette fois-ci je crois savoir où je vais. Toutefois s'il y a des suggestions elles seront les bienvenues.

Le but du projet est de gérer efficacement les notes des élèves de mon établissement en utilisant un formulaire qui pourra afficher les notes des semestre 1 et semestre 2 de l'élève sélectionné. Pour les semestres, j'ai utilisé deux classeurs.
Le formulaire nous permettra de faire des recherches plus rapides (Nous sommes très souvent solliciter par des élèves qui font des réclamations après avoir reçu leurs bulletins ou des profs qui veulent changer des notes d'élèves).
LES COMMANDES DU FORMULAIRE
1/ Le bouton modifier: Permet de modifier des données (avec un msgbox "Voulez-vous modifier ces données", oui/non)
2/ Le bouton Vider: Pour faire disparaitre les données du formulaire
3/ Le bouton Voir la base: Pour aller à la classe sélectionnée
4/ Le bouton précédent: Pour aller de l'élève 3 à l'élève 2 (Avec un msgbox "Vous êtes au premier élève")
5/ Le bouton suivant: Pour aller de l'élève 1 à l'élève 2, par exemple (Avec un msgbox "Vous êtes au dernier élève")
6/ Le bouton Quitter: Pour fermer le formulaire.
POUR ALLER PLUS LOIN
Peut-on utiliser le même formulaire pour imprimer les bulletins des élèves?
Si oui, j'aimerais avoir ces options d'impression si possible:
1/ Une option "imprimer tous les bulletins de la classe sélectionnée" avec deux bulletins par page
2/ Une option "imprimer le bulletin de l'élève sélectionné
Je vous envoie 3 fichiers: 2 classeurs, un qui contient les notes du semestre 1 et le formulaire, un autre les notes du semestre 2 et un fichier qui liste les colonnes et cellules concernées par le formulaire.

Merci d'avance!
 

Fichiers joints

DJISA

XLDnaute Occasionnel
Arf !.... Honte à moi !

[Édition]
Mais finalement pas bien grave puisque voici la version 02 (en attendant les précisions de Djisa pour la v03) avec un onglet Recherche qui permet de filtrer les données.
- Taper le nom d'une classe (3A par exemple) pour avoir la liste des élèves de cette classe.
- Taper F ou M pour lister l'ensemble des filles ou de garçons de l'école.
- Taper deux caractères au moins pour filtrer les colonnes Code, Prénom, Nom, Lieu de naissance et Âge dont les premiers caractères correspondent au caractères tapés. Si la ListBox se vide c'est qu'il n'y a pas de correspondance

Cliquer dans un nom dans la Liste pour afficher ces données...
Salut Rober!
J'ai beaucoup aimé le formulaire de recherche que vous m'avez proposé. Vraiment très intéressant, même si ce n'est pas exactement ce que je veux.
Toutefois si vous pouvez ajouter d'autres critères de recherche pour savoir le nombre d'élèves qui ont eu une moyenne >= 10 ou < 10, combien ont eu un tableau d'honneur etc, ce serait encore plus intéressant.
Ce type de formulaire peut-il gérer les deux derniers classeurs que j'ai partagés dans le forum?
 

DJISA

XLDnaute Occasionnel
Arf !.... Honte à moi !

[Édition]
Mais finalement pas bien grave puisque voici la version 02 (en attendant les précisions de Djisa pour la v03) avec un onglet Recherche qui permet de filtrer les données.
- Taper le nom d'une classe (3A par exemple) pour avoir la liste des élèves de cette classe.
- Taper F ou M pour lister l'ensemble des filles ou de garçons de l'école.
- Taper deux caractères au moins pour filtrer les colonnes Code, Prénom, Nom, Lieu de naissance et Âge dont les premiers caractères correspondent au caractères tapés. Si la ListBox se vide c'est qu'il n'y a pas de correspondance

Cliquer dans un nom dans la Liste pour afficher ces données...
Bonjour Robert!
Toutes mes excuses. Je viens de comprendre ce que vous avez fait. Très intéressant merci. Mais y a un changement de taille sur le projet. J'aimerais bien que vous adaptiez cette procédure au nouveau projet, si ce n'est pas trop vous demander.
 

Robert

XLDnaute Barbatruc
Bonjour le fil, bonjour le forum,

Djisa, je n'ai traité que le fichier du premier trimestre...
Comme tu verras je me suis permis de changer les choses qui ne me convenaient pas :
- les formules de calcul de la moyenne dans la colonne EO de chaque onglet classe. J'ai remplacé :
=SIERREUR(EN16/EM16;"-") par : =SIERREUR(ARRONDI(EN16/EM16;2);"-"), ce qui évite de se retrouver avec plus de deux chiffres après la virgule. Je te recommande de le faire aussi sur toutes les autres formules de moyenne au cas où...
- Dans le formulaire j'ai supprimé la partie concernant le second semestre puisqu'elle ne concerne pas le fichier.
- J'ai rajouté un bouton pour filtrer selon la moyenne et/ou les honneurs (on peut envisager d'autre filtres)
- Les bouton Modifier, Vider, Voir la base, Suivant, Prédédent et Quitter sont opérationnels (à tester). Je n'ai pas compris l'utilité du bouton Afficher.
je n'ai pas traité les impressions (je n'ai pas d'imprimante pour tester)...

Dis-moi ce qui va, ce qui ne vas pas...
Pour le second semestre, il semblerait qu'en fonction des classes, les données finales ne se trouvent pas dans la même colonne. Ça c'est pas possible. Pour éviter de compliquer le code il faut que tu résolves le problème quitte à laisser des cellule vide et que tu me renvoies le fichier du second semestre modifié. Merci pour le fichier de l'emplacement des données. Ça m'a été très utile.

La suite dès que j'ai ton retour...

Un petit conseil. Pour répondre à mes post, ne clique pas sur la flèche Répondre à coté de du J'aime car ça recopie tout mon texte dans la réponse, c'est pénible. Répond simplement dans la dernière case tout à fait en bas puis clique sur Poster une Réponse...

le fichier :
 

Fichiers joints

Dernière édition:

Robert

XLDnaute Barbatruc
Re,

Une version 02 (toujours du premier semestre) plus aboutie... Avec un filtre personnalisé.
Je précise :
- Que l'on peut aussi ouvrir le formulaire en cliquant sur un code de n'importe quelle classe.
- Que les onglets des classes sont distingués des autres grâce au nombre de caractères de leur nom (inférieur à 4). Si un onglet est rajouté et on ne veut pas qu'il soit une classe il faut lui donner un noms avec au moins 4 caractères
- Que l'on peut lancer les boîtes de dialogue du Tableau de bord avec le raccourci clavier [Alt] + [la lettre soulignée du bouton].
- Que l'on peut quitter toutes les boîte de dialogue à l'aide de la touche [Échap.] du clavier (propriété [Cancel] = True d'un CommandButton).
- Que pour remettre à zéro l'onglet Filtres, il sufit de lancer le filtre puis de dire Sortir...

la v02 :

Supprimée voir la v03 plus bas...
 
Dernière édition:

Robert

XLDnaute Barbatruc
Re,

Une version 03 avec plein de bugs éliminés sur le filtre personnalisé (notamment)...
Si quelqu'un pourait réveiller Djisa, ça serait bien :D.

 

Fichiers joints

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas