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.
 

Pièces jointes

  • Gestion des notes.xlsm
    971 KB · Affichages: 60

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil, bonjour le forum,

@ Djisa : Non toujours rien !.... Pourquoi tu n'utilise pas https://www.cjoint.com (ou un autre) ? C'est tellement simple.

@ l'Agrafe : tu ne trouves pas que tu en fais beaucoup pour rien ?!... Après 56 post tu viens nous expliquer qu'on peut zipper des fichiers (si tu avais regardé un peu, tu aurais vu que c'est ce que faisons, et j'ai même utilisé un hébergeur de fichier car celui-ci devenait trop lourd même zippé) et il faudrait qu'on t'accueille comme le messie... Je trouve ça déplacé et exagéré.... Tout le monde ici connaît et reconnaît tes compétences mais un peu d'humilité ne fait pas de mal... Excuse-moi mais il fallait que ça sorte.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonjour le fil,

Robert
La seule chose qui me chafouina fut que DJISA ne m'adressa pas un petit Bonjour
Pour le reste, ce n'était que de l'humour (message#63 et #66)
Je vois qu'il est venu le temps (non pas des cathédrales) sur XLD, où les digressions, l'humour etc... sont malvenues.
C'est bien dans l'air du temps, il faut être efficace, concis et rapide.
(Tout ce à quoi je n'adhère pas ;))

PS1: Quand je poste un message du style [Pour infos]
Je m'adresse pas au demandeur, mais aux éventuels lecteurs du fil en me disant que l'info servira bien à quelqu'un.

PS2: J'ai fait le ménage dans mes messages.
Vous pouvez faire de même (si vous le souhaitez), vous retrouverez ainsi un fil tout propre ;)

PS3: Le seul messie qui vaille c'est celui-ci, non ?
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonjour DJISA
Bonjour le Fil ,le Forum
Arff ! Pas de panique , JM est comme cela et jamais rien de Méchant !
DJISA j'ai remarqué qu"en Feuille 4A tu as une ligne qui n'est pas renseignée N°14
peut être la Solution lol
jean marie
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Djisa, bonjour le fil, bonjour le forum,

Désolé pour le retard. En pièce jointe l'onglet Bulletins tel que tu l'avais décrit dans le post #50. Le problème est la colonne appréciations par matière qui n'est ni dans l'onglet de la classe ni dans le formulaire. Je ne peux donc pas lancer une impression automatique tant que ce champs n'est pas rempli. Que dois-je faire ?

Le code du Bouton Imprimer Élève du semestre 1 :

VB:
Private Sub CommandButton1_Click() 'bouton "Imprimer l'élève 1"
Set O = Worksheets(Me.cbocl1.Value) 'définit l'onglet de la classe
Set B = Worksheets("Bulletins") 'définit l'onglet B
B.Range("C3,F2:H2,F3,H3,B5,F5,C6,F6,B7,E7,B10:H22").ClearContents 'efface les anciennes données
B.Range("F2:H2").Value = "Semestre 1" 'envoie le semestre dans B2:H2
B.Range("F3").Value = Me.cbocl1 'envoie la classe
B.Range("H3").Value = txtEFF1.Value 'envoie l'effectif
B.Range("B5").Value = txtprenom.Value 'envoie le prénom
B.Range("F5").Value = txtNom.Value 'envoie le nom
B.Range("C6").Value = txtdn.Value 'envoie la date de naissance
B.Range("F6").Value = txtln.Value 'envoie le lieu de naissance
B.Range("B7").Value = TextBox11.Value 'envoie le sexe
B.Range("E7").Value = txtcr.Value 'envoie la classe reprise
LI = O.Columns(2).Find(Me.cbocd1.Value, , xlValues, xlWhole).Row 'définit la ligne LI
B.Range("B10").Value = O.Cells(LI, "O").Value 'COMP Composition Française
B.Range("C10").Value = O.Cells(LI, "P").Value 'MS Composition Française
B.Range("D10").Value = O.Cells(LI, "Q").Value 'COEF Composition Française
B.Range("E10").Value = O.Cells(LI, "R").Value 'Points Composition Française
B.Range("F10").Value = O.Cells(LI, "S").Value  'Rang Composition Française
B.Range("G10").Value = O.Cells(LI, "T").Value  'Rang Composition Française
'B.Range("H10").Value = ?  'Appréciation Composition Française
End Sub
 

Pièces jointes

  • Onglet Bulletins.xlsx
    12.9 KB · Affichages: 18
Dernière édition:

DJISA

XLDnaute Occasionnel
Bonjour Robert, le forum
Tu as raison, cela doit être difficile à réaliser. Et si nous si nous utilisions la fonction SI dans la colonne "Appréciations" pour qu'au chargement de la colonne "MS" du bulletin s'affichent ces appréciations: Excellent, Très bien, Bien...?
Ci dessous les critères:
MS >=18 : Excellent ; 16<= MS < 18: Très bien; 14 <= MS < 16: Bien; 12 <= MS < 14: Assez bien; 10 <= MS < 12: Passable; 7 <= MS < 10: Insuffisant;
Moy < 7: Très insuffisant
Merci pour les efforts
DJISA
 

Statistiques des forums

Discussions
312 115
Messages
2 085 451
Membres
102 889
dernier inscrit
monsef JABBOUR