List box "communicantes"

Bonjour à tous,

Voilà ce que j'aimerai faire :

J'ai deux list box [1,2,3,2,1,3,3,1] et [A,C,D,E,B,G,E,D,L] (par exemple).

J'aimerai que dès que je clique sur 2 de la première list box, je vois dans la 2ème list box [C,E].

Exactement comme ce qui se passe dans les sites de compagnies aériennes, dès qu'on clique sur un aéroport de départ, on a tous les aéroports d'arrivée associés à cet aéroport de départ.

Cela est -il possible sur excel ? Si oui, avez vous des idées svp ?

Merci et excellente journée à tous

Bonjour SaraPG et bienvenue sur le forum,

Afin de répondre au mieux à ta question, il faut d'abord nous dire si:

  • ces listbox sont dans ta feuille ou dans un userform
  • où tes correspondances choix 1 -> possibilités 2 sont stockées

Le mieux serait de joindre un fichier.

Cela est -il possible sur excel ? Si oui, avez vous des idées svp ?

C'est tout à fait possible, et simple à réaliser.

Tout d'abord merci pour votre réponse.

Les données sont confidentielles vu que c'est dans le cadre d'un stage.

Mais typiquement, mes données sont sur une feuille excel, j'ai

Colonne 1 Colonne 2 Colonne 3 ( le résultat des deux séléctions)

0,1 A 10

0,1 B 20

0,1 C 22

0,05 B 33

0,05 C 41

0,2 A 12

0,2 B 23

0,2 C 45

0,2 D 32

Voilà ce que j'aimerai obtenir

Une 1ère list box avec

0,05

0,1

0,2

Suite à la sélection de 0,2 par exemple, j'aimerai voir dans la list box suivante

A

B

C

D

et suite à la séléction de C, j'aimerai voir 45.

Voilà, j'espère que j'ai bien résumé l'idée. Sur java c'est sans doute plus simple mais sur excel j'en ai aucune idée.

Bonne journée

Bonjour,

Une solution en pièce jointe.

A+

11sarapg.xlsm (17.49 Ko)

Bonjour Galopin01,

Je vous remercie de votre temps, c'est très gentil.

Quand j'ouvre le fichier excel, et que je vais sur visual basic pour éxecuter, j'ai bien la fenêtre "Galopin" qui apparait mais la colonne B n'apparait pas (voir photo)

Le problème viendrait-il de mon PC, ou d'une étape que j'ai du mal à effectuer ?

Merci encore,

bonne fin d'après midi

galopin

Bonsoir,

C'est en effet un peu bizarre...

C'est un vrai PC ou un MAC ?

A+

C'est un vrai PC ou un MAC ?

Galopin01 tu es mon héro

...Moi aussi je t'aime !

Un vrai PC

Qu'utilises-tu comme symbole décimal habituel le point ou la virgule ?

Si c'est la virgule remplace tout le code par :

'Option Explicit

Private Sub lb1_Click()
    Dim Cell As Range
    Dim Unique As New Collection
    Dim Valeur As Range
lb2.Clear
lblRes.Caption = ""
    On Error Resume Next
    For Each Cell In Range("COLA")
    If CStr(Cell) = lb1 Then Unique.Add Cell.Offset(, 1), CStr(Cell.Offset(, 1))
    Next Cell
    On Error GoTo 0
    For Each Valeur In Unique
        Me.lb2.AddItem Valeur
    Next Valeur
End Sub

Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Sub lb2_Click()
For i = 1 To Range("Tablo").Count + 1
If CStr(Range("A" & i)) = lb1 And Range("B" & i) = lb2 Then lblRes.Caption = Range("C" & i)
Next
End Sub

Private Sub UserForm_Activate()
InitListBox
End Sub

Private Sub InitListBox()
    Dim Cell As Range
    Dim Unique As New Collection
    Dim Valeur As Range
    On Error Resume Next
    For Each Cell In Range("COLA")
        Unique.Add Cell, CStr(Cell)
    Next Cell
    On Error GoTo 0
    For Each Valeur In Unique
        Me.lb1.AddItem Valeur
    Next Valeur
End Sub
Rechercher des sujets similaires à "list box communicantes"