Comment vérifier qu'une ligne est sélectionnée dans une listbox??

  • Initiateur de la discussion Initiateur de la discussion zeltron
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

zeltron

XLDnaute Occasionnel
Bonjour à tout le forum

Voici mon problème.

Sur un USF, j'ai une listbox ( ListBox1)
Dans une macro appliquée à un bouton, j'utilise entre autre la ligne qui est sélectionnée dans la listbox1:
ex :TextBox1.Value = ListBox1.List(ListBox1.ListIndex, 0)

Cependant quand je n'ai pas de ligne sélectionnée dans ma listbox, cela ne fonctionne pas évidemment.

C'est pourquoi j'aimerais savoir comment je peux vérifier qu'une ligne est bien sélectionnée dans ma listbox, pour pouvoir mettre une condition du type:

If "pas de ligne sélectionnée dans listbox1" then
exit sub
else
TextBox1.Value = ListBox1.List(ListBox1.ListIndex, 0)
end if

J'espère que vous pourrez m'aider.

Merci d'avance

Zeltron
 
Re : Comment vérifier qu'une ligne est sélectionnée dans une listbox??

Bonjour,

Voir un exemple dans le fichier joint.
Je ne pense pas qu'il soit necessaire de tester si une ligne est selectionnée ou non.
ListBox1.Value devrait suffire
 

Pièces jointes

Dernière édition:
Re : Comment vérifier qu'une ligne est sélectionnée dans une listbox??

Merci Catrice de te pencher sur mon problème

Au vu de ta réponse, je m'aperçois que j'ai très mal poser mon problème, mon exemple est très mauvais, je pensais que mon exemple simplifié pouvais permettre d'être clair mais en fait il brouille + qu'il n'aide; oubliez le!! Et excusez moi .

Donc de manière détaillée, mon problème est le suivant:

J'ai 2 listbox: ListBox A et listboxB
J'ai une textbox: Textbox1

La Macro se déclenche par un click sur la listboxB

Cette macro permet de mettre dans la textbox1 la ligne sélectionnée dans la ListboxB et la ligne dans la listbox A. de cette manière:
textbox1.value =ListBoxB.List(ListBoxB.ListIndex, 0) & " " & ListBoxA.List(ListBoxA.ListIndex, 0)

Donc ce que devrait faire l'utilisateur c'est :
1-Cliquer sur la listBoxA pour y sélectionner une ligne
2-Puis Cliquer sur la ListBox B pour y sélectionner également une ligne.

Et c'est cette sélection dans la listrBoxB qui déclenche la macro pour aller "nourrir" la textbox1:

Sub ListBoxB_Click()
textbox1.value =ListBoxB.List(ListBoxB.ListIndex, 0) & " " & ListBoxA.List(ListBoxA.ListIndex, 0)
...
End Sub

La macro ne se déclenche donc qu'après une sélection sur la listBoxB

Cependant, si l'utilisateur clique directement sur la listBoxB et n'a pas auparavant sélectionner de ligne dans la listBoxA, aucune ligne n'y sera sélectionnée et la macro ne fonctionnera pas.

C'est pourquoi j'ai réellement besoin de tester si une ligne est bien sélectionnée sur la ListBoxA.

Avez-vous une idée?

Merci d'avance pour votre aide.

Cordialement

Zeltron
 
Re : Comment vérifier qu'une ligne est sélectionnée dans une listbox??

Bonjour,

je ferai,
-un code sur ta listbox 1 qui, quand une ligne est selectionnée, va 'enabler' ta list box 2, dans laquelle on choisira la 2eme ligne
-ensuite on ecrit les deux lignes dans textbox1, puis
-tu remets tes listbox en 'aucune selection de ligne'
-tu disable à nouveau ta listbox2 pour obliger l'utilisateur à selectionner en premier une valeur dans la LB A
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
658
Retour