Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Liaison de tableau avec userform

koadima

XLDnaute Junior
Bonsoir chers tous!
Tout d'abord je dis merci a tous pour vos apport lors de ma dernière demande. Cela m'a été très utile car pour accéder désormais à mon fichier il faut forcement un mot de passe. Merci

Je viens à vous aujourd'hui pour vous demander de m'aider:
- a relier mon tableau avec le userform que j'ai crée pour saisir les notes de mes élèves
-a porter des corrections de notes en rappelant des notes par le N° Mle de l'élève
- a initier le TOTAL, la MOYENNE, le RANG et la mention de chaque élève au fur et a mesure de la saisie
- a classer automatiquement par ordre de moyennes fortes
Si possible à me donner une astuce pour "le classement automatique par ordre" au fur et a mesure des saisies. merci
 

Pièces jointes

  • NOTES DES ELEVES.xlsm
    18.6 KB · Affichages: 17

Paf

XLDnaute Barbatruc
Bonjour,

Pour les points 1 et 2 on doit trouver des milliers d'exemples sur le net.

Mais, quelques éléments:

Un bon point pour avoir numéroté les Textbox dans l'ordre des cellules de la feuille (hormis Sciences et hist-géo inversés)

plutôt qu'une textbox où saisir le Matricule (avec les erreurs de saisie possible) il vaudrait mieux une combobox alimentée par la colonne A de la feuille, à l'ouverture du UserForm
VB:
Private Sub UserForm_Initialize()
Dim T
With Worksheets("Feuil1")
  T = .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row)
End With
ComboBox1.List = T
End Sub

Lorsqu'on sélectionne un matricule dans la combobox, les textboxs sont renseignées
VB:
Private Sub ComboBox1_Click()
i = ComboBox1.ListIndex + 2 'correspond au N° ligne dans la feuille
For j = 2 To 16
  Me.Controls("Textbox" & j) = Worksheets("Feuil1").Cells(i, j)
Next
End Sub

lorsqu'on enregistre, les notes sont copiées dans la feuille:
VB:
Private Sub CommandButton1_Click()
i = ComboBox1.ListIndex + 2 'correspond au N° ligne dans la feuille
For j = 5 To 16
  Worksheets("Feuil1").Cells(i, j) = CDbl(Me.Controls("Textbox" & j))
Next
End Sub

Le bouton RAPPEL, n'aurait plus lieu d'être.

A+
 

Discussions similaires

Réponses
2
Affichages
945
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…