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.
 

ChTi160

XLDnaute Barbatruc
Bonjour Calvus
j'espère que tu vas Bien ?
Pourrais tu ? pour une meilleur compréhension et ne pas avoir a créer un fichier , de mettre un fichier exemple (quelques Lignes) avec explications !
a quoi correspond "col2" par exemple !
tu ne charges que les Lignes ou la col2 est Vide ,c'est ca ?
Merci par avance
Bonne journée
Jean marie
 
Dernière édition:

Calvus

XLDnaute Barbatruc
Re,

Voici le fichier réduit à sa plus simple utilisation.
Il n'y a que 3 listbox, et c'est la 3 qui pose problème.
La 4 je l'avais faite pour chercher mais je n'en ai pas besoin en réalité.

Merci
 

Pièces jointes

  • Exemple Listbox.Selected.xlsm
    119.1 KB · Affichages: 6

ChTi160

XLDnaute Barbatruc
Re
peux-tu expliquer la démarche et les résultats attendus
Car tu sélectionnes un "Prof" puis un "élève", puis Un "T x"
Ensuite si tu sélectionnes une Ligne de la ListBox 3
c'est pour en fin de Procédure Simuler un Click sur la ListBox 2 donc pas evident d'avoir une Ligne sélectionnée dans la listBox 3
regarde ce que je fais et dis moi ce que tu attends et Comment procéder pour y arriver !
Merci par avance
Jean marie
 

Pièces jointes

  • Calvus-1.gif
    Calvus-1.gif
    364.3 KB · Affichages: 7

Calvus

XLDnaute Barbatruc
Re,
Alors bien sûr je ne suis pas devant mon PC.

En cliquant sur un des checkbox à droite, cela génére une liste dans la LB3.
En cliquant sur celle là, on doit pouvoir activer la même macro qu'en cliquant sur la LB2.
Fais le test en renseignant quelques valeurs dans le tableau (adresse tel etc..)
Pour l'instant elle interagit avec la LB2 mais ça ne devrait pas, c'était pour chercher l'erreur.
 

ChTi160

XLDnaute Barbatruc
Re
je suis devant mon ordi Lol

je ne comprends pas bien
tu remplis tes Label en Cliquant sur ListBox 2 puis tu veux remplir ces mêmes labels ,pourquoi ?
tu as ensuite ces procédures
VB:
Private Sub CheckBox1_Click()
CheckBox2 = False
CheckBox3 = False
CheckBox4 = False
Call ListBox3_Click
End Sub
Private Sub CheckBox2_Click()
CheckBox1 = False
CheckBox3 = False
CheckBox4 = False
Call ListBox3_Click
End Sub
Private Sub CheckBox3_Click()
CheckBox1 = False
CheckBox2 = False
CheckBox4 = False
Call ListBox3_Click
End Sub
que veux tu faire ?
Jean marie
 

Calvus

XLDnaute Barbatruc
Re,
Je comprends tes questions.
Alors en effet cela peut paraître redondant de remplir à nouveau les labels, mais le projet est en construction, et à terme le code ira chercher des données en fonction de conditions différentes.
Les checbbox par exemple permettent de filtrer les personnes ayant payé ou pas, ce que ne fait pas la listbox 2.
Le userform va évoluer afin de pouvoir déterminer différentes conditions.
C'est pour cela que j'ai besoin de pouvoir sélectionner un item de ma LB3
 

ChTi160

XLDnaute Barbatruc
Bon
j'ai répondu a la demande "Pouvoir sélectionner une Ligne dans la ListBox 3" !
mais ca n'avance a rien !
il n'y a pour l'instant aucun rapport entre les différentes sélections !
je pense pour ne pas travailler pour rien que tu dois avancer dans l'organisation et la définition de ce que dois être le résultat !
Jean Marie
 

Pièces jointes

  • Calvus-2.gif
    Calvus-2.gif
    202.3 KB · Affichages: 11

Calvus

XLDnaute Barbatruc
Si c'était possible, en supprimant ce bout de code inutile :
VB:
For j = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(j) = True Then
MsgBox "r"
End If
Next j
J'en étais au même point avant de poster ce matin.

As tu vu qu'en laissant celui-ci par contre, on peut bien sélectionner une ligne, mais toutes les valeurs retournent False
Code:
For j = 0 To ListBox3.ListCount - 1
If ListBox3.Selected(j) = True Then
MsgBox j
End If
Next j
 

ChTi160

XLDnaute Barbatruc
Re
je ne sais pas et ce n'est pas Clair ce que tu veux faire et ce que tu veux Obtenir et Comment
je ne sais pas si je me fais comprendre Lol
J'attends des explications des exemples si possible !
tu dis :
As tu vu qu'en laissant celui-ci par contre, on peut bien sélectionner une ligne, mais toutes les valeurs retournent False
Mais je ne comprends pas Lol
Toi je suis sûr que tu sais ce que tu veux dire et ce que tu devrais obtenir Lol
Jean marie
 

Discussions similaires

Statistiques des forums

Discussions
299 841
Messages
1 979 469
Membres
206 744
dernier inscrit
Nicolas258