ListBox

Résolu
philguit Messages postés 9 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 2 juin 2007 - 12 mai 2007 à 21:00
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 14 mai 2007 à 18:26
je dispose d'une ListBox dans laquelle se trouve des noms identiques, je voudrait dans une textbox avoir la somme des noms identiques , par exemple, j'ai plusieurs fois le nom PARIS, ( 12 fois), alors ma textBox m'indiquerais "12",quand PARIS est sélectionné, j'espére avoir été clair,merci par avance pour votre aide.

philguit

5 réponses

cs_yvesyves Messages postés 561 Date d'inscription samedi 10 janvier 2004 Statut Membre Dernière intervention 11 octobre 2010
12 mai 2007 à 21:33
Tu fais une recherche dans ta liste grâce aux indexs. Des que l'utilsateur clique sur Paris il cherche de 0 à MaxList "Paris". Et tu oublie pas d'incrémenter un compteur. Si ta liste est trié tu peux améliorer les performences genre si tu as 256 fois paris dans 45612 éléments...
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 mai 2007 à 21:55
Salut,

tiens, un 'tit bout de code :

Option Explicit

Private Sub Form_Load()
    With List1
        .AddItem "Paris"
        .AddItem "Marseille"
        .AddItem "Paris"
        .AddItem "Nice"
        .AddItem "Paris"
        .AddItem "Marseille"
        .AddItem "Paris"
        .AddItem "Nice"
        .AddItem "Paris"
    End With
End Sub

Private Sub List1_Click()
    Dim i As Long, Counter As Long
    
For i = 0 To List1.ListCount - 1
    If List1.List(i) = List1.List(List1.ListIndex) Then
        Counter = Counter + 1
    End If
Next
MsgBox "La valeur " & CStr(List1.List(List1.ListIndex)) & "
apparait " & Counter & " fois !"
End Sub

~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
14 mai 2007 à 14:59
Salut,

il suffit de lire ligne par ligne. Par exemple, avec le code donné précédemmant, tu sais quel item est choisi, ensuite, il faut sélectionner la feuille 2, puis lire avec une boucle de 1 à la dernière ligne (For i = 1 To DerLigne) et dès que cells(i, 1) correspond à la valeur de l'item du ListBox1, tu fait un Exit For, (pour sortir de la boucle) et la valeur de i garde le numéro de la ligne qui va bien, tu lis les autres colonnes (cells(i, 2), cells(i, 3), etc..) en faisant un AddItem à ton ListBox2

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
14 mai 2007 à 18:26
Sheets(
"Feuille2"
).Select




Dim 

as long
, PLV 
as long
, PCV 
As Long




PLV = range(
"A65536"
).End(xlUp).Row




For 
i = 

to 
PLV

    if List1.List(List1.ListIndex) = Cells(i, 1).Value Then
       PCV = range("A" & i).End(xlRight).Column
       For j = 1 to PCV
          ListBox2.Clear
          ListBox2.AddItem Cells(i, j).Value
       Next j
       Exit For
    End If
Next i

~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
philguit Messages postés 9 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 2 juin 2007
13 mai 2007 à 18:28
Merci pour la réponse qui m'a bien aidée.

Pendant que j'y suis , je formule une autre demande, j'ai 2 tableaux(feuillede calcul excel), la colonneA de la feuille1m'indique le nom des villes,les autres colonnes les caractéristiques diverses de la ville en question; dans la colonne A de la feuille 2, toujours le nom des villes,mais avec d'autres caractérisitiques.Je souhaiterais depuis mon UserForm de consultation, sélectionner une ville dans la Listbox1 liée à la feuille 1, (colonneA), dans une autre listbox2,pouvoir lire les données de plusieurs colonnes de la feuille2,correspondant à la ville choisit.et ceci sans voir apparaître 2 fois le nom de la ville choisit.(ex:PARIS ,en France,en Europe,en Ile de france ect..), en selectionnant "PARIS" dans la ListBox1,je verrais apparaître dans la ListeBox2 ,les lignes d'infos contenues dans la feuille2 ,cad:  En Europe,En France etc..
Merci pour la patience de me lire,j'ai déja contruit l'UserForm avec les Listbox, la listbox1 me fait bien voir l'ensemble de la colonneA de la feuille1, quand à la Listbox2, je ne vois pas de solution , en l'état actuel de mes connaissances.

Dans l'attente d'une aide
Cordialement à Tous
0
Rejoignez-nous