Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2512 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  utilisation champ listbox avec multiselected résolu

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

utilisation champ listbox avec multiselected résolu

n°1362342
GillooZ
un reportage de filip loulou
Posté le 09-05-2006 à 13:41:56  profilanswer
 

j'ai créé une ListBox de client sur laquelle g mis la propriété  
 
ListBCli.MultiSelected = fmMultiSelectedExtended
 
pour pouvoir choisir plusieurs clients a la fois  
 
mais comment utilise t on ce champ ?
 
je ve dire comment savoir combien de champs sont selectionnées et comment les utilisés pour faire une selection de ligne ?
 
j'ai dans ma fonction :  
 
cptt = 3
cpt = 3
tmp = 0
With Worksheets("enr_incidents" )
    Do
        If (.Range("B" & cpt).Value = ListCli.Value) Then
            test = test + 1
            tmp = .Range("T" & cpt).Value * 1000000 / Deno
            .Range("Y" & cptt).Value = tmp
            cptt = cptt + 1
        End If
        cpt = cpt + 1
         
    Loop Until IsEmpty(.Range("T" & cpt))
End With
 
et j'aimerai que toutes les lignes avec les differents clients que j'ai choisi avec la methode MultiSelected soient pris en compte(ma colonne B contient tous mes clients et j'aimerai donc avoir les informations liées aux plz clients dans ma colonne Y)
 
 
merci bcp


Message édité par GillooZ le 10-05-2006 à 08:16:29
mood
Publicité
Posté le 09-05-2006 à 13:41:56  profilanswer
 

n°1362417
SplitForm
Moomnia !!!
Posté le 09-05-2006 à 14:42:45  profilanswer
 

:hello:  
 
Il faut que tu parcours tous les éléments de ta liste pour savoir s'ils sont sélectionnés ou pas :
 


 
For i= 0 To .ListBCli.ListCount - 1
 
     If .ListBCli.Selected(i) Then
          'Traitement pour l'element selectionne
     endif
 
next i
 


n°1362483
GillooZ
un reportage de filip loulou
Posté le 09-05-2006 à 15:39:32  profilanswer
 

oki mais comment recuperer la valeur lu ?
je veux dire 'jai deja test ca existe pas ListCli.Selected(i).Value
je parcours donc comme tu m'as mis avec une boucle for ma ListBox mais qd je tombe sur un element selectionné par l'utilisateur, il faudrait que j'arrive a avoir la valeur pour pouvoir la comparer a celle d'une autre cellule  
pouvoir faire qq chose ki ressemble a ca avec uen variable String déclaré en tete de procédure
For i= 0 To .ListBCli.ListCount - 1  
 
     If .ListBCli.Selected(i) Then  
          Cli = ListCli.Selected(i).Value
          If (UneCellule = Cli) Then
              faire truc
          End If
     end if  
 
next i  
 
 
merci

n°1362504
SplitForm
Moomnia !!!
Posté le 09-05-2006 à 15:55:51  profilanswer
 

Il te faut récupérer la valeur contenu dans la bonne colonne de la bonne ligne :
 
.....
     If .ListBCli.Selected(i) Then  
          Cli = .ListBCli.Column(<N° de la colonne contenant l'info voulue>, i)  
.....


Message édité par SplitForm le 09-05-2006 à 15:56:43
n°1362549
GillooZ
un reportage de filip loulou
Posté le 09-05-2006 à 16:18:04  profilanswer
 

je comprends pas, je veux juste recuperer dans une variable String la valeur de la ListBox correspondant a celles selectionnées par l'utilisateur pour faire des tests dessus
je vois pas pourquoi il faudrait utiliser une colonne :/
Avec la boucle parcourant ma ListBox, quand un objet de ma ListBox a ete selectionné, j'aimerai recuperer la valeur de celui ci dans un string
 
dsl pour ma non comprehension

n°1362735
SplitForm
Moomnia !!!
Posté le 09-05-2006 à 19:34:08  profilanswer
 

GillooZ a écrit :

je comprends pas, je veux juste recuperer dans une variable String la valeur de la ListBox correspondant a celles selectionnées par l'utilisateur pour faire des tests dessus
je vois pas pourquoi il faudrait utiliser une colonne :/
Avec la boucle parcourant ma ListBox, quand un objet de ma ListBox a ete selectionné, j'aimerai recuperer la valeur de celui ci dans un string
 
dsl pour ma non comprehension


 
Lorsque la ListBox n'est pas MultiSelect, c'est la valeur de la BoundColumn qui est assignée à la propriété VALUE de la ListBox.
En MultiSelect, il faut 'pointer' sur la BoundColumn de chacune des lignes sélectionnées pour récupérer la valeur de ces lignes.
C'est pour cela qu'il faut que tu fasse référence à une colonne pour récuparer la valeur de la ligne sélectionnée.
 
EDIT : Dans ton cas, si tu n'as qu'une info par ligne, essaye ça :
 
        .ListBCli.Column(0, i)


Message édité par SplitForm le 09-05-2006 à 19:35:40
n°1362958
GillooZ
un reportage de filip loulou
Posté le 10-05-2006 à 08:16:01  profilanswer
 

OUI C CA ES FONKTIONNIERT !!!
thx :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  utilisation champ listbox avec multiselected résolu

 

Sujets relatifs
IE 7 et FF problèmes de position: absolute [RESOLU][Résolu]Comment changer un nom de variable
[Résolu] Erreur w3c que je ne comprends pas[RESOLU ]affichage des images
Problème d'hébergement chez Free [Résolu][RESOLU]Page web locale
Associer un style aux champ disabled[RESOLU] Passer des infos d'une JDialog à une JFrame
[résolu] Création automatique d'un calendrier de championnat sportifoperateur de test résolu
Plus de sujets relatifs à : utilisation champ listbox avec multiselected résolu


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR