USERFORM - Déselectionner par VBA dans une ListBox

Bonjour le forum,

je bloque sur le problème suivant :

Je souhaite faire un Userform qui me servirait de "Menu déroulant" à 2 niveaux : En fonction de la première valeur sélectionnée dans la Listbox, le contenu de celle-ci est alors regénéré.

J'y suis arrivé, mais j'aimerai qu'après "regénération" du contenu de la Listbox, aucune valeur ne soit sélectionnée par défaut.

J'ai donc utilisé le code suivant, mais qui ne fonctionne pas :

ListBox1.ListIndex = -1

Voici en pièce jointe mon fichier, votre aide est la bienvenue, je pense qu'il ne manque pas grand chose à mon code pour fonctionner...

bonjour piratman,

je ne sais pas si j ai mal compris ton problème, mais je nai aucune valeur selectionné par défaut lorsque je selectionne une cellule de la colonne A.... peut tu me reexpliquer si j ai mal compris stp.

cordialement

Bonjour snake_tl,

Oui, quand on double clic sur une cellule de la colonne A, dans la 1ère listbox qui apparait il n'y a aucune valeur sélectionnée.

Mais lorsqu'on double clic sur une valeur de cette liste, une 2ème est générée.

C'est sur celle-ci qu'une valeur est sélectionnée par défaut.

J'espère avoir été plus clair.

Bonjour Piratman,

désolé du temps d'attente.

Voici ton fichier en retour dit moi si cela te conviens.

Bonjour,

ton fichier modifié donne exactement le même résultat que le mien (d'ailleurs si tu regardes à la fin de mon code, j'avais déjà insérer ".ListIndex = -1". Mais qui ne fonctionne pas dans ce cas.

Pour être sur qu'on ait le même "comportement" d'Excel, je te donne un exemple de ce qu'il se passe chez moi :

  • Je double clique sur une cellule de la colonne A
  • Le Userform s'ouvre, avec la 1° ListBox générée (Appelée "Liste niveau 1", contenant "Sous ensemble A"....)
  • A ce moment là, il n'y a bien aucune préselection dans cette ListBox
  • Je double clique sur une valeur (Par exemple "Sous ensemble B")
  • La 2° ListBox est alors générée (Appelée "Sous ensemble B")
  • La valeur "Choix B2" est alors sélectionnée par défaut (Malgré la présence du code ".ListIndex = -1")

==> Il s'agit toujours du champ de la 2° Liste placé à la même position que celui de la 1ère liste qui a été double cliqué, qui est sélectionné par défaut. C'est ce phénomène que je souhaite supprimer.

J'espère avoir été plus clair, et te remercie de te pencher sur mon problème.

Mon problème n'a pas attiré la curiosité des Pros d'Excels ??

Bonjour

A tester

Bonsoir Banzai64,

merci beaucoup pour ton aide, ça marche nickel.

Je jetterai dès demain un oeil à ton code, pour voir "la ruse"

A+

je jetterai un oeil aussi pour en apprendre un peu plus

Rechercher des sujets similaires à "userform deselectionner vba listbox"