Problème Listbox [Résolu]

Signaler
-
 François -
Bonjour,

J'ai créé une listbox qui recueille une série de donnée et l'utilisateur doit faire un ou plusieurs choix dans cette liste.

Le souci c'est que lorsque j'ouvre l'userform, j'ai déjà des valeurs qui sont pré-sélectionnées. Je ne parviens pas à savoir pourquoi ces valeurs sont sélectionnées 1 coup et qu'elles ne le sont pas une autre fois.

Je vous mets ci-dessous l'initialize de l'userform. La listbox en question est la listbox1.

Un très grand merci d'avance !

--------------------------------
Private Sub UserForm_Initialize()

'Tri de la liste utilisée dans la listbox1
Sheets("BDDListes").Select
lig1 = Sheets("BDDListes").Range("A100000").End(xlUp).Row
lig2 = Sheets("BDDListes").Range("B100000").End(xlUp).Row
lig3 = Sheets("BDDListes").Range("C100000").End(xlUp).Row
lig4 = Sheets("BDDListes").Range("D100000").End(xlUp).Row
lig = Application.WorksheetFunction.Max(lig1, lig2, lig3, lig4)
Range(Cells(2, 1), Cells(lig, 4)).Sort Key1:=Range("B1")
lig2 = Sheets("BDDListes").Range("B100000").End(xlUp).Row

'Source de la listbox1
If lig2 = 1 Then
ListBox1.RowSource = "BDDListes!B2:B2"
Else
ListBox1.RowSource = "BDDListes!B2:B" & lig2
End If
Sheets("JourInventaire").Select

End Sub

8 réponses

Messages postés
28939
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 juillet 2020
332
Ah ben.. il semble que ton USF apparaisse pile au dessus de ton bouton et ta listbox se trouve pile au dessus de cette zone ( a droite de ton T )..
Donc tu cliques.. l' USF apparait.. tu relaches ton clique ( c'est super rapide mais ça suffit).. c'est comme si tu cliquais sur ta listbox en fait...

Déplace ton bouton.. ou l'affichage de ton USF..

Edit : Par exemple en ajoutant ça à la fin de ton Initialize()

Me.StartUpPosition = 0
    Me.Top = Application.Top + 25
    Me.Left = 100
Messages postés
12177
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
26 juin 2020
12
Bonjour,

Sans plus amples informations, en particulier ton code "ouvrant" et "fermant" l'UserForm, nous ne pouvons que supputer.
Supputons donc.
Tu dis :
Je ne parviens pas à savoir pourquoi ces valeurs sont sélectionnées 1 coup et qu'elles ne le sont pas une autre fois.
Je pencherai donc sur une "ouverture" et/ou "fermeture" de ton UserForm sans initialisation, comme ceci :
' à la "fermeture"
UserForm1.Hide
' à l'"ouverture" :
UserForm1.Show


Si tu ne fais que le cacher (Hide) et non le "décharger de la mémoire" (UnLoad), les présélections précédentes de ta ListBox seront toujours sélectionnées...

Essaie de le fermer en utilisant :
UnLoad Me


EDIT : ajout des guillemets

Cordialement,
Franck
Messages postés
28939
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 juillet 2020
332
Bonjour,
Je me suis permis d'éditer ton message pour y ajouter les balises de code.
Merci d'y penser lors de tes prochains messages.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
Bonjour,
le code montré n'a aucune espèce d'influence sur la pré-sélection que tu constates.
Du coup si le code n'a pas d'influence, quelle peut en être la cause ?
Messages postés
28939
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 juillet 2020
332
La selection dans tes listbox apparait systématiquement ?
par exemple : dès le lancement de ton programme la première fois ?


EDIT : Je viens de voir ce commentaire :
ces valeurs sont sélectionnées 1 coup et qu'elles ne le sont pas une autre fois.

Les fois où elles sont séléctionnées.. ne serait-ce pas après avoir déjà commencé à utiliser ton programme ?
Par exemple à un moment donné tu masque ton userform ( userform.hide ) puis te le réaffiche et là tu as des choses de sélectionné ??
Si c'est ça.. c'est simplement du au fait que tu n'a pas "détruit" ton userform avant de le réouvrir..donc il concerve les infos telles que tu les as laissé en masquant ton USF.

Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Bonjour et merci de ta réponse !

J'ouvre/Je ferme le userform systématiquement de la même manière (aucune action, aucune sélection dans la listebox, juste sortir du userform) plusieurs fois, le 1/3 du temps (de manière aléatoire) j'ai des valeurs sélectionnées, les 2/3 rien de sélectionné.
Le souci c'est que je n'arrive pas à voir de logique à l'apparition de ces sélections alors qu'il y en a forcément une.
Merci pour les pistes, je ferme bien les userform avec le unload à la fin. Par contre j'utilise show à l'ouverture. Ca ne serait donc pas ça ?
Je vais recréer une autre listbox en partant de rien, voir si ce n'est pas une histoire de popriété
Quand je clic sur une zone du bouton de macro ça le fait à chaque fois et jamais le reste du temps =)
Messages postés
12177
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
26 juin 2020
12
Quand je clic sur une zone du bouton de macro ça le fait à chaque fois et jamais le reste du temps =)
Me semble bien impossible, à moins que...

A ce point, sans classeur exemple (sans données confidentielles), il sera malaisé de te répondre.
Pour transmettre un fichier sur ce site, il convient, au préalable, de créer un lien vers ce fichier en utilisant http://cjoint.com et de revenir coller le lien fournit, ici, dans une réponse.
Le fichier appuré :

http://cjoint.com/?3Buroy4RAIS
J'ai le problème en cliquant un peu en haut à droit du "t" de début
Ok la voilà la logique =) merci beaucoup