Microsoft 365 Problème Listbox.Selected

Calvus

XLDnaute Barbatruc
Bonjour à tous,

J'ai une listbox à 3 colonnes dont il m'est impossible de sélectionner une ligne, et 3 autres simple colonne (Listbox1 Listbox2 Listbox4).

J'ai fait un petit code test qui fonctionne sur les 3 autres listbox :
VB:
For j = 0 To ListBox3.ListCount - 1
If ListBox3.Selected(j) = True Then
MsgBox j
End If
Next j

En alimentant ma listbox à l'initialisation du Userform, ce code fonctionne même sur ma litsbox3, la défaillante.
J'ai pensé que le problème était dû aux 3 colonnes, mais ça fonctionne, ce n'est donc pas ça le problème.

Reste le problème du code d'alimentation de la listbox, mais je ne vois pas ce qui pourrait perturber le fonctionnement. Le voici :
Code:
j = 0
If CheckBox1 = True Then
    With Me.ListBox3
        For i = 1 To UBound(tEleves)
            If tEleves(i, col2) = "" Then
            .AddItem
            .List(j, 0) = tEleves(i, 1)
            .List(j, 1) = tEleves(i, 2)
            .List(j, 2) = tEleves(i, 3)
            j = j + 1
            End If
        Next i
    End With
    Cpt2 = j
End If

Ce code est incrémenté 4 fois, pour 4 checkbox et le Lisbox3_Click est activé au click sur un des checkbox.

Je précise que la sélection est visible à l'écran, que la ligne Listbox.Selected fait bien la boucle, mais que la valeur renvoyée est systématiquement False. 🤔

Une idée ?

Merci et bonne journée.
 

Calvus

XLDnaute Barbatruc
Re,

Voici le fichier à peu près tel qu'il va évoluer, avec une nouvelle Listbox à droite et différents boutons.
En cliquant sur un item de la listbox3, je veux que les données apparaissent dans les labels afin d'isoler les données d'un individu, en me disant s'il est à jour, quelles sont ses conditions ou éléments particuliers, par le biais des nouveaux labels, et que si je ne sélectionna que le nouveau checkbox par exemple, la listbox4 m'affiche la liste.
Tout cela, à priori je sais le faire, là où je suis coincé pour l'instant c'est que je sois dans l'impossibilité de tirer les valeurs à partir de la sélection de la listbox3. Encore une fois, tu l'as vu, la sélection se fait mais le listbox.selected renvoie faux systématiquement, alors qu'il devrait renvoyer vrai une fois.

Dis moi si c'est assez clair maintenant.
 

Pièces jointes

  • Exemple Listbox.Selected.xlsm
    120.9 KB · Affichages: 5

ChTi160

XLDnaute Barbatruc
Re
c'est la mitemps Lol-
Que veux tu faire lorsque tu sélectionnes les CheckBox "T1" etc
car je ne comprends pas pourquoi tu as par exemple:
VB:
Private Sub CheckBox1_Click()
CheckBox2 = False
CheckBox3 = False
CheckBox4 = False
Call ListBox3_Click 'ici
End Sub
il faudrait aussi que tu mettes des "OptionButton" plutôt que des CheckBox !
tu n'auras pas a gérer car tu ne peux pas en avoir deux a True !
y'a t'il un rapport entre ce qui se fait au niveau des ListBox 1 et 2 et la ListBox 3 ?
Jean Marie
 
Dernière édition:

Calvus

XLDnaute Barbatruc
Re,

Bon, j'ai trouvé le problème !!
Je me suis précipité dans l'écriture de mon code, et bêtement, j'ai alimenté ma listbox à partir du clic de celle-ci, avec en plus un listbox.clear !!
Alors forcément, après la boucle, il n'y avait plus rien, même si les valeurs restaient affichées à l'écran.
J'ai déplacé mon code dans une autre sub, et maintenant ça marche.
Je vais pouvoir avancer.

En tout cas, merci pour ton aide Jean-Marie, et à bientôt :)
 

ChTi160

XLDnaute Barbatruc
Bonjour Calvus
tu dis :
j'ai alimenté ma listbox à partir du clic de celle-ci, avec en plus un listbox.clear !!
Ce n'est pas une façon normale de faire ! (Pour le remplissage d'une ListBox)
On manque d'info, sur le fonctionnement de tout cela !
la ListBox se remplit donc a chaque fois que l'on clique sur elle, mais en fonction de Quoi, de quels critères ?
Manque d'explication et d'exemple, il y a surement mieux mais si cela te convient c'est super !
Tes "CheckBox" doivent donner quels résultats ? Par exemple !
N'hésite pas si besoin.
Bonne journée
Jean marie
 

Calvus

XLDnaute Barbatruc
Bonjour Jean-Marie,
Ce n'est pas une façon normale de faire ! (Pour le remplissage d'une ListBox)
Non bien sûr.
C'est pour cela que j'ai écrit que je m'étais précipité dans l'écriture du code.
J'ai réglé le problème en alimentant ma listbox de façon conventionnelle.
Tout est rentré dans l'ordre.

Bonne soirée.
 

ChTi160

XLDnaute Barbatruc
Arfff excuse !
edit :
je viens de regarder vite fait ton Fichier Lol
J'ai été étonné de ne voir aucune référence au Sexe des Personnes ( Enfants ou adultes F ou M ou H ou F) par exemple ! ça pourrait aussi permettre un Tri !

Bonne journée
Jean marie
 
Dernière édition:

Discussions similaires

Réponses
11
Affichages
236

Statistiques des forums

Discussions
311 720
Messages
2 081 902
Membres
101 834
dernier inscrit
Jeremy06510