Récupération d'une valeur dans une ListBox

olic95

XLDnaute Junior
Bonjour,

Je vais essayer de faire simple.

J'ai une ListBox (ListBox1) contenant des clients dont les noms et prénoms sont identiques (Alain DUPONT) se différenciant pas le numéro client

CLT1 Alain DUPONT
CLT2 Alain DUPONT
CLT3 Alain DUPONT

Cette ListBox est affichée dans une Sub :ListBox1.Show

Je sélectionne le 2nd client (CLT2 Alain DUPONT) et je veux que ma sub appelante récupère le numéro de client correspondant, soit ListBox1.List(ListBox1.ListIndex,0) en l’occurrence.

Ben je n’y arrive pas.

Une petite idée s’il vous plaît ?

Merci.

Olivier.
 
Dernière édition:

olic95

XLDnaute Junior
Re : Récupération d'une valeur dans une ListBox

Bonjour Pascal76

Sélection simple.

Cette ListBox apparaît lorsque je veux modifier un client (ça tout le monde avait compris) et qu'il en existe plusieurs avec nom et prénom identiques.

S'il n'y a qu'un seul et unique Alain DUPONT dans mon fichier client, cette liste n'apparaît pas. Cela va de soit.

J'ai oublié de préciser que la ListBox en question se trouve sur un UserForm CLIENT et que c'est lorsque je clique sur un bouton OK (Bouton1) de ce même UserForm que je veux récupérer CLT2

Suis-je bien clair ?

Merci.

Olivier.
 

olic95

XLDnaute Junior
Re : Récupération d'une valeur dans une ListBox

Possible... oui ! Mais y'a un gros ménage à faire... il fait 500Ko !!!!!!

Je vais essayer de ne mettre que le code en question.

Je saisis nom et prénom du client à modifier dans un Userform SAISIE. Un clic sur OK lance la recherche du client

Private Sub Bouton_OK_Click()
Dim NUMERO_CLI As String
Dim NB_CLI as Integer

...
...

If NB_CLI > 1 Then
LISTE.Liste_clients.List() = TABLEAU_CLI
LISTE.Liste_clients.ListIndex = 0
LISTE.Show
End If

NUMERO_CLI = LISTE.Liste_clients.List(LISTE.Liste_clients.ListIndex, 0)
...
...

End Sub

Donc :
- je renseigne la ListBox avec TABLEAU_CLI
- Je positionne l'index sur le premier client
- j'affiche la liste
- au retour dans la sub, je récupère le numéro de client sélectionné... mais c'est là que ça coince. NUMERO_CLI = 0 !!! Je l'initialise à cette valeur quelques lignes plus haut !
 

ChTi160

XLDnaute Barbatruc
Re : Récupération d'une valeur dans une ListBox

Salut olic95
bonsoir Laurent
arff je n'ai pas trop le temps je pars voir ma êtite fille Lol
je pense que Laurent va t'expliquer comment faire

il faut que tu boucle sur les item de ta listbox pour récupérer celui qui est sélectionné (d'ou la question je pense de Laurent Multi or not multi Select) lol

donc un truc du genre
For item = 0 to Me.ListBox1.listcount-1
if Me.Listbox1.selected(item)=true then
MonNumero=ListBox1.list(Item,0)
end if
Next
enfin je fais de tête et c'est pas garantie lol Laurent à l'aide il faut que je parte je regarde cela ce soir
excuses
bonne fin de Journée
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Récupération d'une valeur dans une ListBox

RE

Non lol je n'ai qu'une identité c'est Pascal

Jean-Marie ton code est valable dans le cas de multiselect mais ici il nous a dit que c'etait du select single

perso j'aimerais bien voir le code en entier car je ne comprends pas trop où tu mets ton

NUMERO_CLI = LISTE.Liste_clients.List(LISTE.Liste_clients.ListI ndex, 0)
 

ChTi160

XLDnaute Barbatruc
Re : Récupération d'une valeur dans une ListBox

Arfff
Bonsoir le fil
Bonsoir le Forum

la vitesse n'est jamais bonne, mais j'étais préssé et j'ai mis ce bout de code tapé directement dans le message pour l'exemple et sans test de plus pourquoi Laurent ,eh ben je ne sais pas Pascal ,tu me diras Laurent et un gars très bien aussi lol ,donc pas de problème

bonne fin de soirée
 

olic95

XLDnaute Junior
Re : Récupération d'une valeur dans une ListBox

Salut à mes "répondeurs", le forum,

C'est OK Laurent76, erreur de positionnement pour le

NUMERO_CLI = LISTE.Liste_clients.List(LISTE.Liste_clients.ListIndex, 0)

Faut que je sois plus attentif ;o(

Sinon, autre question, est-il possible de mettre certaines lignes en gras et d'autres non dans une seule et unique ListBox. Par exemple les 5 premières lignes en "normal" et les deux dernières en "gras"

En fait j'ai un onglet qui contient les clients actifs, et un autre onglet qui contient les clients supprimés mais dont je conserve les coordonnées pour éditer les quittances qui les concernent au cas où ils en auraient besoin.

Merci.

Olivier
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 023
Membres
104 007
dernier inscrit
Monvieux