Bonjour à tous,
J'ai une listbox ou je fais défiler les enregistrements avec des boutons < et >.
Aprés avoir enregistré les eleves d'une classe 2 fois pour les 2 premiéres matières avec des notes, j'ai un comportement bizarre de la combobox (en cascade) qui change de matiére en changeant d'élève.
Pour mieux comprendre, ouvrez le formulaire en clic droit sur une page, et le probléme se passe en sélectionnant 6émé2 dans la liste deroulante classe et composition française en combo matiére. Cliquez sur lister.
Si je passe au 2eme éléve de la liste avec >, il passe à la matiére conduite, la 2éme aprés 'composition française' qui soit listée pour cette classe dans l'onglet notes correspondant. Pourtant çà ne correspond pas à une requête et bloquer la combobox n'affiche plus rien.
Merci de votre aide.
Private Sub btnApres_Click()
Dim i%, j%, drl3%, ws1 As Worksheet, ws2 As Worksheet, matric$
Set ws1 = Sheets("eleves")
drl1 = ws1.Range("B" & Rows.Count).End(xlUp).Row
Set ws2 = Sheets("notes")
drl2 = ws2.Range("B" & Rows.Count).End(xlUp).Row
If Me.lstElev.Selected(Me.lstElev.ListCount - 1) = True Then 'si 1ere ligne sélectionnée
MsgBox "Vous êtes à la derniére ligne."
Exit Sub
End If
'passage à la ligne suivante
'MsgBox Me.lstElev.ListCount - 1 '11
' MsgBox Me.lstElev.List(j + 1) '185
' MsgBox Me.lstElev.List(j + 1, 0) '185
For j = 0 To Me.lstElev.ListCount - 1 'boucle sur tous les éléments de la ListBox à partir du second
If Me.lstElev.Selected(j) = True Then 'si 1ere ligne sélectionnée
Me.lstElev.Selected(j) = False 'désélectionne l'élément
Me.lstElev.Selected(j + 1) = True 'sélectionne le prochain
matric = Me.lstElev.List(j + 1, 0)
Exit For
End If
Next j
...
Cdt